MYSQL 事件不同步(疑难)

rczjp 2012-05-17 09:22:54
主的MYSQL有事件每隔一段1分钟调用存储过程从而操作主数据库,主数据库的记录变化,从的也跟着变化。
问题来了:
show master status;
show slave status;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

show variables like '%event%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | ON |
+-----------------+-------+
主从的状态都正常,而且我在主数据库进行操作的时候,从的数据库完全可以正常同步
为什么会经常性的不事件同步?按道理本来是每隔1分钟就会出现从表有数据改变的!
这个问题问了好几次了,没有解决方法,每次都要重启主的才可以,很麻烦。
...全文
174 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rczjp 2012-05-19
  • 打赏
  • 举报
回复
这两天的同步正常,猜测原因是:
从数据库太多,连接数过多,造成主的压力大,可以对主数据库进行分拆
rczjp 2012-05-17
  • 打赏
  • 举报
回复
@zuoxingyu2012 你好,同步是正常的,从的事件是禁止的。

@rucypli 手动event_scheduler,不是很明白,请教。
以前是重启主的,现在使用
SET GLOBAL event_scheduler=OFF;
SET GLOBAL event_scheduler=ON;
这个也可以激发事件正常同步。

不过也很麻烦,想找到根本原因是什么
rucypli 2012-05-17
  • 打赏
  • 举报
回复
手动之下下 event_scheduler执行的sql语句看看
珠海-天堂 2012-05-17
  • 打赏
  • 举报
回复
对于事件EVENT来说,在主上执行时,写入到BINLOG的是EVENT里面具体的SQL语句,EVENT只是负责调度,如果这个EVENT在从上也是ENABLED状态,就会出现SQL在从上执行2次(1次MASTER同步的,1次是SLAVE自己调度的),这个需要特别注意。

事件不执行,这个问题以前也看到过别人提过,但是MYSQL文档里面没有做任何说明,EVENT推出已经很久了,使用的人也不少,这个问题是个基础的功能性问题,如果有BUG,早就大面积爆发了。
珠海-天堂 2012-05-17
  • 打赏
  • 举报
回复
select status from mysql.event;
master上的应该是enables,slave应该是'SLAVESIDE_DISABLED'


Field: status
Type: enum('ENABLED','DISABLED','SLAVESIDE_DISABLED')
Null: NO
Key:
Default: ENABLED
rczjp 2012-05-17
  • 打赏
  • 举报
回复
主数据库下面有很多的从数据库,而且现在的从数据库的访问量开始变大,所以那个事件不同步的问题也更加凸显了,请问怎么解决
rczjp 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
贴出你的EVENT创建语句。
[/Quote]
如下:
CREATE EVENT eve_ABC ON SCHEDULE EVERY 1 MINUTE ON COMPLETION PRESERVE DO CALL PRO();


调用的存储过程也很简单。不会是语句的原因,因为可以正常同步,只不过一段时间之后就偶尔会事件不触发了,我猜测是BUG,也可能是从数据库太多了,所以我再增加了一个新版本的MYSQL,把主数据库分成了2份。明天看是否再出现不同步的问题,如果出现的话,真没辙了。如果老版本MYSQL不同步,而新版本的MYSQL依然正常同步的话,那就应该是BUG
珠海-天堂 2012-05-17
  • 打赏
  • 举报
回复
贴出你的EVENT创建语句。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧