码迷,mamicode.com
首页 > 其他好文 > 详细

主库创建存储过程时从库显示 Error 1049

时间:2015-11-21 07:15:22      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:mysql

MySQL Bugs: #72682: Replication MBR halts - stored procedure from unreplicated schema

MySQL Bugs: #59135: replicate-wild-do-table: cross-database updates and create SPs break replication

如果从库只使用了replicate-wild-do-table,那么当主库创建存储过程时,从库会不同步,报错信息如下:

150104 15:15:46 [ERROR] Slave SQL: Error ‘Unknown database ‘fdd_statistics‘‘ on query. Default database: ‘fdd_statistics‘. Query: ‘CREATE DEFINER=`esf_frame`@`%` PROCEDURE `YUNYING_BASIC_DATA_SECOND_BOSS`(IN startDate date)

BEGIN

set @datetime = startDate; 

insert into fdd_report_data_second_boss


如果使用replicate-do-db则可以解决该问题,但是这个选项无法处理跨库处理数据库的问题.

还有一种做法是使用row level的日志格式来解决(一般情况下使用的时mixed混合模式),但是row level的日志对二进制文件的并发压力非常大,一般不推荐,除非你的MySQL压力比较小.

解决方案有几种.

1.如果你的业务里没有跨库操作,则可以在从库使用replicate-do-db选项指定需要同步的数据库.

2.在从库新建和主库一样名字的database,可以是空库.这样你会发现存储过程会被同步过来.可以使用show procedure status;进行查看.


主库创建存储过程时从库显示 Error 1049

标签:mysql

原文地址:http://kamui0523.blog.51cto.com/163315/1715253

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!