MySQL逻辑备份

十年热恋 提交于 2020-02-05 04:56:07

我们一般采用mysqldump的方式,对于mysql dump,有两种备份方式,一种是形成恢复脚本,这个是默认的备份方式,还有就是生成行数据文件,将来采用load data加载数据,后者速度更快,因此对于逻辑备份,我们建议采用后者,就是mysqldump -T的方式

  1mysqldump备份的时候,对于myisam表,我们采用-l的方式加锁备份,来保证数据的一致性,也可以采用skip lock的方式防止myisam表被加锁,但是可能带来数据的不一致性

  2、对于inndb表来说,通过single transaction的方式来获得一致性数据,主要原来采用的是MVCC特性,备份期间不锁表,还能够获得一致性数据

  3、对于mysqldump,我们不能获取到备份对应binlog起点,因此需要手工记录,具体的技巧就是在mysqldump的时候,加上-F选项,强制binlog切换,将来采用切换后的binlog作为恢复的起点,否则mysqldump的备份根本找不到恢复的起点

  4mysqldump可以恢复单表,具体方法就是将binlog中不属于恢复表的操作过滤掉,只是过滤出来需要恢复的表对应的SQL语句

 

对于备份来说,我们有下面的几个技巧

  1、将备份卸载到从库

  2、使用xtrabackup的压缩、加密、并行、限流等技巧,根据业务需要灵活使用

  3、我们可以单独建立一个延迟从库,对于一些误操作进行恢复

  4、对于导数采用mysqldump -T的方式,对于备份采用xtrabackup的方式

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!