由于项目需要设置数据库之间的同步为主从备份,在同步一段时间后发现,因为其中两个表之间的外键约束原因导致从数据库无法同步主数据库的数据,采用了如下方案进行处理:
1、停止同步:进入主从数据库执行:stop slave;
1、从主数据库82中导出整个数据库
mysqldump --all-database --master-data=1 -u root -p > /tmp/all_database_dump.sql;
2、远程复制数据库备份数据到84机器:
scp all_database_dump.sql 用户名@IP地址:/tmp/
3、84机器中执行导入命令:
mysql -uroot -p </tmp/all_database_dump.sql;
4、查看两个数据库之间的同步日志点:
show slave status\G;
5、分别在82和84中执行如下命令,查看数据库同步游标及文件开始点:
show master status;
6、重新设置两台机器的同步游标点:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000009',MASTER_LOG_POS=503161494;
7、重新启动同步:
start slave;