今天从库查询发现和主库数据不一致,还能因为啥,停止同步了呗。
1、首先查看从库的同步状态
SHOW SLAVE STATUS;
主要看Slave_IO_Running和Slave_SQL_Running,发现Slave_SQL_Running是NO,也就是由于某些原因导致SQL同步线程停止了。
2、查看mysql错误日志找原因
进入mysql配置文件默认/etc/my.cnf,
找到错误日志存放位置,我的是/var/log/mysqld.log
进去一看发现
[ERROR] Slave SQL for channel '': Error 'Can't create database 'test'; database exists' on query. Default database: 'test'. Query: 'CREATE DATABASE `test`', Error_code: 1007
[Warning] Slave: Can't create database 'test'; database exists Error_code: 1007
[ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000001' position 5793227.
由于从库之前有一个叫test的数据库,主库又创建了一个叫test的数据库,从库在同步时导致出错,进而导致停止同步。
3.启动mysql同步线程
在从库运行SLAVE START;
总结
简单,两分钟解决,供参考旁通。