<>强自从入行干它互联网已经有些年头了,以前自己确实比较懒,从来不写博文,从来不总结工作经验,导致自身的技术提升的很慢,成长也是很慢,正儿八经的开始写博文也是从去年才开始的,写点东西,总结下,确实挺好,这样回顾自己的过往,感觉自己还是多多少少留下了点东西,不至于回想起来太过空虚,太过遗憾。好了废话不多说了,接下来分享点自己近四年来接触MySQL数据备份这一块的小经验。强>
<强>数据是一个互联网公司的命,脉数据库的安全以及备案的完整性是至关重要的,所以我们需要在工作中要很熟练的掌握数据的备份与恢复,这也是一个合格的运维DBA必须具有的职业技能强>。
<强>我这里简单总结MySQL的备份分为3种强>
<强>分为冷备份,逻辑备份,热备份强>
1,冷备份:
<强>一般主要用于非核心业务,这类业务一般都是允许业务中断的,冷备份的特点就是数度快,恢复时也最为简单。通常直接复物理文件来实现冷备份强>
1.1备份过程:
第一关闭mysql服务
第二步就是把数据数据目录(包含ibdata1)和日志目录(包含ib_logfile0, ib_logfile1, ib_logfile2)复制到磁盘,或者本地的另一块磁盘里
1.2恢复过程:
第一使用复制的数据目录和日志目录替换原有的目录
第二就是启动mysql
2,逻辑备份,MySQLdump
<强>生产场景备份的命令:强>
生产场景不同引擎,mysqldump备份命令
<强> myisam引擎企业生产备份命令(适合所有引擎或混合引擎):强>
<代码>,mysqldump -uroot -p123456 - a - b - f - r -主数据=https://www.yisu.com/zixun/2 - x -事件| gzip>/opt/all.sql.gz 代码>
<>强提示:- f也可以不用,与——主数据有些重复。强>
<强> innodb引擎企业生产备份命令:推荐使用的强>
<代码>,mysqldump -uroot -p123456 - a - b - f - r——主数据=https://www.yisu.com/zixun/2 default-character-set=utf8——事件单一事务| gzip>/opt/all.sql.gz 代码>
<>强提示:- f也可以不用。与主数据有些重复。强>
<强>——default-character-set=utf8指定备份出的sql数据的字符集为utf8,当然,这个要提前知道线上的mysql库全部采用的字符集都是utf8,否则在恢复到线上的库会出现字符集不一致的问题出现乱码强>
<>强提示:逻辑备份一般是数据迁移或者数据量很小时采用,逻辑备份采用的是数据导出的方式强>
2.1, mysqldump库表等备份说明:
<强>全备:强>
<代码>,Mysqldump -uroot - p - q单一事务——在祝辞all.sql 代码>
<>强导出多个数据库:强>
<代码>,Mysqldump -uroot - p - q单一事务- b test01 wjw01 test02祝辞test01_wjw01_test02.sql 代码>
<>强导出一个测试库的某张wjw01表:强>
<代码>,Mysqldump -uroot - p - q单一事务- b测试wjw01>祝辞test_wjw01.sql 代码>
<强>只导出表结构:强>
<代码>,Mysqldump -uroot q - d——skip-triggers 代码>
<强>只需要导出储存过程时:强>
<代码>,Mysqldump -uroot q -Rtdn——skip-triggers 代码>
<强>只需要导出触发器:强>
<代码>,Mysqldump -uroot - p - q -tdn触发代码>
<强>只需要导出事件:强>
<代码>,Mysqldump -uroot - p - q -Etdn -skip-triggers 代码>
<强>只需要导出数据:强>
<代码>,Mysqldump -uroot - p - q——skip-transaction skip-triggers - t 代码>
<>强要想在线上建立一台新的奴隶,则在总体上执行如下命令:强>
<代码>,Mysqldump -uroot - p - q单一事务主数据=https://www.yisu.com/zixun/2——> all.sql 代码>
<>强提示:在mysql5.5里增加了一个新的参数:dump-slave,使用该参数可在奴隶端转储数据,建立新的奴隶,其目的是为了防止对主库造成过大的压力。强>
<强>在奴隶上执行以下命令:强>
<代码>,Mysqldump -uroot - p——-dump-slave=2 q单独的事务在/tmp/all.sql 查看呼叫。sql里面会记录奴隶上的那个点。代码>
<强>注意:dump-slave用于在奴隶上转储数据,建立新的奴隶强>
2.2, mysqldump优缺点以及使用场景
<>强优点:强>
1,恢复简单,可以使用管道将他们输入到mysql
2,与存储引擎无关,因为是从mysql服务器中提取数据而生成的,所以消除了底层数据存储的不同