找回密码
 立即注册
首页 业界区 安全 MySQL binlog筛选参数和复制筛选参数

MySQL binlog筛选参数和复制筛选参数

肿圬后 3 天前
 
binlog-ignore-db
是一个master节点设置,控制主服务器不记录指定数据库的binlog
如何查看binlog-ignore-db的值?
show master status;
show binary logs status;
 
replicate-do-db
是一个slave端设置,控制从服务器回放指定数据库的binlog
show slave status;
show replica status;
 
replica-ignore-db
是一个slave端设置,控制从服务器不回放指定数据库的binlog
show slave status;
show replica status;
然而,以上两个参数本身就是一种怪胎一般的存在,只对切换到当前数据库下的语句生效,同时与主节点的binlog格式有关,对于非当前库下,带库名的操作,比如在DB01库下执行update DB02.table set c2 = *** where id =1就不生效,既然有替代参数,为什么不废弃这两个参数,搞不懂mysql为什么放任这个坑一直存在
 
主节点不记录binlog参数
  1. --是一个master主节点设置,控制主服务器不记录指定数据库的binlog
  2. binlog-ignore-db
  3. --假如主节点上,想忽略test库所有的表写binlog
  4. --用binlog-wild-ignore-table替代binlog-ignore-db
  5. binlog-ignore-db= test
  6. binlog-wild-ignore-table=test.%
  7. --如何查看binlog-ignore-db的值?
  8. show master status;
  9. show binary logs status;
复制代码
 
从节点忽略不应用binlog(relay log)参数
  1. --是一个slave端设置,控制从服务器回放指定数据库的binlog
  2. replica-ignore-db
  3. --假如从节点上,想忽略test库所有表的binlog的回放
  4. --用replicate-wild-ignore-table替代replica-ignore-db
  5. replica-ignore-db = test
  6. replicate-wild-ignore-table=test.%
  7. --如何查看replica-ignore-db的值?
  8. show slave status;
  9. show replica status;
  10. --然而,以上两个参数本社就是一种怪胎,只对切换到当前数据库下的语句生效,对于非当前库下,带库名的操作,比如在DB01库下执行update DB02.table set c2 = *** where id =1就不生效
  11. 搞不懂mysql为什么放任这个坑一直存在
复制代码
 
反正不纠结了,从节点上同时使用do_db和db_table两个参数
想复制就用两个do参数叠加
replicate-do-db=A.%
replicate-wild-do-table=A.%

不相复制就用两个ignore参数叠加
replicate-ignore-db=B.%
replicate-wild-ognore-table=B.%

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册