Bug #72682 | Replication MBR halts - stored procedure from unreplicated schema | ||
---|---|---|---|
Submitted: | 19 May 2014 13:42 | Modified: | 23 May 2014 16:00 |
Reporter: | Tinel Barb | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | 5.5.37 | OS: | Linux (5.5.37-0ubuntu0.12.04.1-log) |
Assigned to: | CPU Architecture: | Any |
[19 May 2014 13:42]
Tinel Barb
[21 May 2014 10:06]
Tinel Barb
Hello, The "How to repeat" section should be as: MASTER with AAA, BBB, CCC, DDD schemes. SLAVE with only AAA, BBB and CCC schemes, no DDD schema. Set up replication for AAA, BBB, CCC databases: -> Master-Slave replication -> Mixed format -> Table-level replication options for selecting the replicated schemes: ---- Master: binlog-ignore-db = information_schema binlog-ignore-db = performance_schema ---- Slave: replicate-wild-do-table=AAA.% replicate-wild-do-table=BBB.% replicate-wild-do-table=CCC.% -> Select `DDD` schema on Master and issue a CREATE FUNCTION or CREATE PROCEDURE statement on it. My apologizes for the mistake. As a note, the problem resides in the way IO_Thread gather data from Master. Thank you!
[23 May 2014 16:00]
Tinel Barb
Hello again! I was doing an extensive research and testing to find the most appropriate set-up for replication of cross-database statements and creation of stored procedures and functions, including ways to exclude from replication the creation of stored procedures on non-replicated schemes. In the end, I've find that a mix of database-options and table-options are working as requested, _regardless_ the logical schema from the links provided. Simply, on SLAVE the definitions are: ---------------------------------------- replicate-ignore-db = information_schema replicate-ignore-db = performance_schema replicate-do-db = AAA replicate-do-db = BBB replicate-do-db = CCC replicate-wild-do-table = AAA.% replicate-wild-do-table = BBB.% replicate-wild-do-table = CCC.% ========================================== With these set-up, commands like: use DDD; insert into AAA.table1 select 0,count(id) from BBB.table2; will be replicated, and creation of stored procedures on non-replicated schema will not be downloaded by IO_Thread and sent to execution. Even if this set-up is not following the logical from http://dev.mysql.com/doc/refman/5.5/en/replication-rules-db-options.html and http://dev.mysql.com/doc/refman/5.5/en/replication-rules-table-options.html , I consider this behavior as a _feature_. I will close the ticked before someone will mess it up :) Best regards! Tinel Barb Romania