本篇内容介绍了“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语句备份
利用工具dump
物理备份
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 存储引擎表的数据。 www.2cto.com
此外,除了上面所说的数据文件之外,Innodb 还有自己存放redo 信息和相关事务信息的日志文件在“innodb_log_group_home_dir”参数所设定的位置。所以要想Innodb 物理备份能够有效使用,我们还比需要备份“innodb_log_group_home_dir”参数所设定的位置的所有日志文件。
FLUSH TABLES WITH READ LOCK;
物理备份,你懂得
UNLOCK TABLES;
备份策略
重要的内容物理备份
然后其他逻辑备份
“MySQL数据库的逻辑和物理备份”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。