mysql系列~mysqldump使用技巧
零 基础参数补充
1 --hex-blob 针对特殊类型数据建议添加避免
2 |gzip > backupfile.sql.gz 管道压缩
一 安全性参数组合
1 --skip-add-drop-table 去掉drop table参数(默认为打开状态)
2 --set-gtid-purged=OFF 不生成GTID相关信息(默认为关闭状态)
加了--set-gtid-purged=OFF时,在会记录binlog日志,如果不加,不记录binlog日志,所以在我们做主从用了gtid时,用mysqldump备份时就要加--set-gtid-purged=OFF,否则你在主上导入恢复了数据,主没有了binlog日志,同步则不会被同步 做全备时不需要加,因为是所有库都要覆盖
3 --single-transaction 数据一致性保证(默认为关闭状态)
二 需求参数组合
1 --no-data(添加) 只导出表结构,常见于同步测试-线上结构
2 --databases(如果有就去掉) 导出不带创建库的语句,常见于导入到不同库名中
三 主从同步
0 master-data 默认为0 不记录主从同步位点
1 记录主从同步位点,自动执行
2 记录主从同步位点,不自动执行,注释状态->推荐
四 经典
1 库表备份-GTID_OFF
mysqldump -h --user=root --password='xxxx' --socket='/tmp/mysql.sock' --default-character-set=utf8 --single-transaction --master-data=2 --flush-logs --hex-blob --set-gtid-purged=OFF db tables | gzip > backupfile.sql.gz
2 全库备份-GTID_ON-DUMP做从库
mysqldump -h --user=root --password='xxxx' --socket='/tmp/mysql.sock' --default-character-set=utf8 --single-transaction --master-data=2 --flush-logs --hex-blob --triggers --routines --events --all-databases |gzip > backupfile.sql.gz