在配置MySQL从服务器时,查看slave状态:
Slave_IO_Running: Yes
Slave_SQL_Running: No
往下滑查看报错信息:
Error 'Can't drop database 'test'; database doesn't exist' on query. Default database: 'test'. Query: 'DROP DATABASE `test`'
主从复制三部曲:
主数据库有个 bin log 二进制文件,纪录了所有增删改 SQL 语句。
从数据库把主数据库的 bin log 文件的 SQL 语句复制到自己的中继日志 relay log
从数据库的 relay log 重做日志文件,再执行一次这些sql语句
分析
sql语句中要删除数据库“test”,我们查看这个从服务器数据库,发现没有test
show databeses;
!!!!!!然后关闭从服务!!!!!!!!!!!!!!!!!!!!
stop slave;
我们直接给他手动加一个test(这里我用navicat右键新建数据库test)
!!!!!!!启动从服务!!!!!!!
start slave;
然后我们再查看一下数据库(navicat中点击刷新)
发现test数据库被自动删除了
查看slave状态
show slave status\G;
无报错且都为Yes,问题解决。
原因
主从服务器信息不同步导致。