bitscn.com
mysql数据库逻辑和物理备份 逻辑备份 法1: 生成特定格式的纯文本 select * into outfile 'f:/data.txt' fields terminated by ',' from g_user load data infile 'f:/data.txt' into table g_user fields terminated by ',' ignore number lines 如果你没有指定一个 fields 子句,缺省的相同于如果你这样写: fields terminated by '/t' enclosed by '' escaped by '//'如果你没有指定一个 lines 子句,缺省的相同于如果你这样写: lines terminated by '/n' 发2:生成insert语句备份 利用工具mysqldump 物理备份 myisam 存储引擎 myisam 存储引擎的所有数据都存放在mysql 配置中所设定的“datadir”目录下。实际上不管我们使用的是myisam 存储引擎还是其他任何存储引擎,每一个数据库都会在“datadir”目录下有一个文件夹(包括系统信息的数据库mysql 也是一样)。在各个数据库中每一个myisam 存储引擎表都会有三个文件存在,分别为记录表结构元数据的“.frm”文件,存储表数据的“.myd”文件,以及存储索引数据的“.myi”文件。由于myisam 属于非事务性存储引擎,所以他没有自己的日志文件。所以myisam 存储引擎的物理备份,除了备份mysql 系统的共有物理文件之外,就只需要备份上面的三种文件即可。 innodb 存储引擎innodb 存储引擎属于事务性存储引擎,而且存放数据的位置也可能与myisam 存储引擎有所不同,这主要取决于我们对innodb 的“”相关配置所决定。决定innodb 存放数据位置的配置为“ innodb_data_home_dir ” 、“innodb_data_file_path ” 和“innodb_log_group_home_dir”这三个目录位置指定参数,以及另外一个决定innodb 的表空间存储方式的参数“innodb_file_per_table”。前面三个参数指定了数据和日志文件的存放位置,最后一个参数决定innodb 是以共享表空间存放数据还是以独享表空间方式存储数据。这几个参数的相关使用说明我们已经在第一篇的“mysql 存储引擎介绍”中做了相应的解释,在mysql 的官方手册中也有较为详细的说明,所以这里就不再累述了。
如果我们使用了共享表空间的存储方式, 那么innodb 需要备份备份“innodb_data_home_dir”和“innodb_data_file_path”参数所设定的所有数据文件,“datadir”中相应数据库目录下的所有innodb 存储引擎的“.frm”文件;而如果我们使用了独享表空间,那么我们除了备份上面共享表空间方式所需要备份的所有文件之外,我们还需要备份“datadir”中相应数据库目录下的所有“.idb”文件,该文件中存放的才是独享表空间方式下innodb 存储引擎表的数据。 此外,除了上面所说的数据文件之外,innodb 还有自己存放redo 信息和相关事务信息的日志文件在“innodb_log_group_home_dir”参数所设定的位置。所以要想innodb 物理备份能够有效使用,我们还比需要备份“innodb_log_group_home_dir”参数所设定的位置的所有日志文件。 flush tables with read lock;物理备份,你懂得unlock tables;备份策略重要的内容物理备份然后其他逻辑备份 作者 bengda bitscn.com