主的MYSQL有事件每隔一段1分钟调用存储过程从而操作主数据库,主数据库的记录变化,从的也跟着变化。
问题来了:
show master status;
show slave status; Slave_IO_Running: Yes
Slave_SQL_Running: Yesshow variables like '%event%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | ON |
+-----------------+-------+
主从的状态都正常,而且我在主数据库进行操作的时候,从的数据库完全可以正常同步。
为什么会经常性的不事件同步?按道理本来是每隔1分钟就会出现从表有数据改变的!
这个问题问了好几次了,没有解决方法,每次都要重启主的才可以,很麻烦。
问题来了:
show master status;
show slave status; Slave_IO_Running: Yes
Slave_SQL_Running: Yesshow variables like '%event%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | ON |
+-----------------+-------+
主从的状态都正常,而且我在主数据库进行操作的时候,从的数据库完全可以正常同步。
为什么会经常性的不事件同步?按道理本来是每隔1分钟就会出现从表有数据改变的!
这个问题问了好几次了,没有解决方法,每次都要重启主的才可以,很麻烦。
master上的应该是enables,slave应该是'SLAVESIDE_DISABLED'
Field: status
Type: enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
Null: NO
Key:
Default: ENABLED
以前是重启主的,现在使用
SET GLOBAL event_scheduler=OFF;
SET GLOBAL event_scheduler=ON;这个也可以激发事件正常同步。不过也很麻烦,想找到根本原因是什么
CREATE EVENT eve_ABC ON SCHEDULE EVERY 1 MINUTE ON COMPLETION PRESERVE DO CALL PRO();调用的存储过程也很简单。不会是语句的原因,因为可以正常同步,只不过一段时间之后就偶尔会事件不触发了,我猜测是BUG,也可能是从数据库太多了,所以我再增加了一个新版本的MYSQL,把主数据库分成了2份。明天看是否再出现不同步的问题,如果出现的话,真没辙了。如果老版本MYSQL不同步,而新版本的MYSQL依然正常同步的话,那就应该是BUG