数据库主从不一致解决
mysql

休假回来,发现维护的一个数据库主从出现了问题,使用命令 show slave status\G;得到了错误信息。
一般情况下遇到mysql主从数据库的数据不能同步的话,可以从slave数据库的状态看出来,这里建议通过脚本来做实时监控。
检查slave数据库的状态是否出现error,或是检查Seconds_Behind_Master参数后跟的是否为数字,如果有异常则显示为null。
1、我们需要从主库通过mysqldump命令备份一份数据出来,并记录主库的file和position。
导出命令如下:
mysqldump -R -u root
-p
2、将备份出来的数据文件拷贝到从库主机上,然后将从库stop slave后就可以导入拷贝过来的数据了。
导入命令如下:
mysql -u root -p
3、导入数据后登录从数据库,change到主库的记录位置。
命令如下:
change
start slave;
然后通过show slave status\G即可查看从库状态。
4、当检查slave数据库服务器状体出现如下错误时,
Last_Error:
根据提示可以知道是由于重复插入数据导致错误。先stop slave然后使用SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;再执行start slave后最后再通过show slave status\G;查看slave从库状态。
5、如果还是不能解决问题则需要修复表,先stop slave然后repair table logop;再执行start slave后最后通过show slave status\G;查看slave从库状态。