请老师帮帮忙,公司里没有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
这样备份可以吗?