请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

mysql生产这样的备份方案可以吗?

请老师帮帮忙,公司里没有DBA,需要运维来迁移数据库。
我有两套环境:
第一套3.13 mysql_Master 和 3.10 mysql_Slave 都是Mysql 5.6.38-log版本。基于row格式的日志主从复制
第二套是167.73 mysql_Master和 167.162mysql_Slave是Mysql 5.6.47-log版本,新的一套 数据是空的,需要将3.13数据迁移到这里一套。也是基于row格式的日志主从复制。

首先去3.13 用mysqldump完全执行逻辑备份
mysqldump -uroot -p123456 -F --master-data=2 --single-transaction --triggers --routines --events --databases complain_prd dj_prd > /home/bes_backup_20200323_1040.sql
然后查看到bes_backup_20200323_1040.sql里面的-- CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000343’, MASTER_LOG_POS=120;

接着去新的一套167.73
首先将完整备份还原
source /home/bes_backup_20200323_1040.sql
接着再基于二进制日志文件增量还原。
/usr/local/mysql/bin/mysqlbinlog --start-position=120 mysql-bin.000343 | mysql -uroot -p
/usr/local/mysql/bin/mysqlbinlog mysql-bin.000344 | mysql -uroot -p
/usr/local/mysql/bin/mysqlbinlig mysql-bin.000345 | mysql-uroot -p
这样备份可以吗?

正在回答

1回答

sqlercn 2020-03-23 16:01:00

可以是可以,不过更好的方式是直接把第二套的主配置为第一套的从,这样就不用后面增量恢复binlog,当你新旧集群切换完成后再把第二套的主对第一套主的同步去掉就可以了。

1 回复 有任何疑惑可以回复我~
  • 提问者 苦瓜苦也 #1
    但是这样做主从延迟 时间不一致。
    回复 有任何疑惑可以回复我~ 2020-03-23 16:14:24
  • sqlercn 回复 提问者 苦瓜苦也 #2
    你可以在切换前把旧的集群设为只读,这样应该很快新来集群的数据就会同步了。
    回复 有任何疑惑可以回复我~ 2020-03-23 16:21:40
  • 提问者 苦瓜苦也 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-03-23 17:00:53
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信