Bug #2917 binlog-*-table needed
Submitted: 21 Feb 2004 11:04 Modified: 12 Sep 2022 14:44
Reporter: Przemyslaw Popielarski Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S4 (Feature request)
Version:4.0.18 OS:Linux (Linux 2.4.x x86)
Assigned to: Assigned Account CPU Architecture:Any

[21 Feb 2004 11:04] Przemyslaw Popielarski
Description:
Well, binlog-*-table would be very appreciated. I'm trying to minimize traffic between master and slave, and now as of 4.0.18 even with replicate-ignore-table the slave gets the binary log from master and then parses it and does nothing more. It's just useless network traffic.
regards, premax@hot.pl

How to repeat:
put in master's /etc/my.cnf:
 binlog-ignore-table=DB.TABLE
and unfortunately is does not work :-)

Suggested fix:
Add options:
 --binlog-ignore-table=DB.TABLE
 --binlog-do-table=DB.TABLE
 --binlog-wild-ignore-table=DB.TABLE
 --binlog-wile-do-table=DB.TABLE
to be supported on master.
[18 Jan 2008 11:50] Nikola Strahija
I can confirm.
For example, we smashed around 500 GB of replication data in 8 hours. The slaves just skip the tables in "replicate wild ignore table" but like you said, useless network traffic.

And if you have a lot of data moving around on the master which doesn't need replication it's producing high IOwait load and network load (both on master and slave).
[13 Mar 2008 5:36] Vikash Bucha
has this been implemented in later versions.
[19 May 2008 16:44] Rich Kalsky
Has this been added to any later versions of MySQL?

I have 5.0.27-community, and I don't see this option in the documentation.
[23 Sep 2008 2:06] Gonzalo Carvajal
Yes! please i need that feature too.
I have 4 servers, 1 master and 3 slaves. They are not in a LAN, they are in different cities. I configure the my.ini in the slave for replicating just a few tables, not all the database and very often i have replication crashes because every modification on Master is sent to the slaves, not only the tables i want. The more common error is because sql statements (until now, they´re all for tables other than i want to replicate) are not crc verified and arrive to slaves with syntax errors (wrong data). 
I think that is necesary some binlog-*-table option, for 2 reasons (may be there are more):
1) the type of crash i explained on top
2) because without that option and with big servers (that move a lot of data daily) there are too much (senseless) network traffic.

Please sorry my english, i hope you can understand
I'm working with 5.0.45-community-nt-log, MySQL Community Edition (GPL)
[6 Jul 2009 2:36] asdasd asdasd
This feature would be great to have
[1 Sep 2009 0:14] Peter Pan
count me in for the feature!!!
[4 Sep 2009 11:57] Olga Turetskaya
So much in for the feature!
[4 Sep 2009 12:12] Olga Turetskaya
Just wanted to add. I have a situation where LOAD DATA INFILE loads 16Mb files into tables. I only need to do this operation once on master and never replicate, so really cringing on the idea that I'll have to drag all that data load over the network. 

I think I might have found a work around with binlog-ignore-db though, but really this feature could be extremely handy :)
[30 Mar 2010 15:34] Larsen Doe
Still not there after 6 years? =(
[30 Mar 2010 15:55] Przemyslaw Popielarski
Yeah, still waiting :>
[8 Jun 2011 17:21] Ben Wallach
Anybody know if this was ever implemented? I am in the same boat. 

I have a bunch of nightly work performed on "load" tables on the MASTER. Don't want/need this replicated across. Even with 'SQL Thread' turned off, there is a significant IO/load/performance impact on the SLAVE (during these operations).

Have NOT tried adding "replicate-wild-ignore-table=myDB.myLoadTable" to SLAVE. I believe this won't matter since I have the 'SQL Thread' off anyways during these operations....can anyone confirm this?
[9 Jun 2011 14:56] Ben Wallach
Just wanted to add that I ended up putting in "SET SQL_LOG_BIN = 0" before all load operations...this appears to have addressed the performance impacts on the slave
[3 Nov 2011 21:57] Sheeri Cabral
Here's my vote for binlog-wild-ignore-table......replicate-wild-ignore-table is not enough for 2 different clients of ours, as their binlogs are huge (bigger than their data!  One client has a 33G database, and every day produces 60 Gb of binlogs!).

Is this a particularly difficult feature?  It seems like many folks want it.
[3 May 2012 19:05] Hannes Hudde
I would also like to see this feature
[13 Sep 2012 20:19] Brian Kroth
A particular use case I have in mind for something like this is a moodle app that writes a heavy amount of (session) data to a transient table.  I'd like to be able to make it an in memory table and not care about any sort of binary logging or replication.  As it stands I have to have 10x as much space for the binary logging for that data as I do for the actual data since I do want to replicate everything else.

Thanks,
Brian
[23 Dec 2015 20:17] Yael Goldberg
+1.  This was requested over 10 years ago.  Please add in this feature.  It would be very useful.
[12 Sep 2022 14:37] Yoni Sade
I second that motion.
This feature will greatly reduce lag in my replication setup.
[28 Dec 2023 19:39] Agustin Paroli
+1 
This feature is very important whenever you use the binlogs as the CDC source for ETLs, as sometimes we just want to ignore a table altogether.