内容来源于网络

使用replicate_do_db和replicate_ignore_db时有一个隐患,跨库更新时会出错

如设置 replicate_do_db=test
use mysql;
update test.table1 set ......
第二句将不会被执行

如设置 replicate_ignore_db=mysql
use mysql;
update test.table1 set ......
第二句会被忽略执行

原因是设置replicate_do_db或replicate_ignore_db后,MySQL执行sql前检查的是当前默认数据库,所以跨库更新语句被忽略。

可以使用replicate_wild_do_table和replicate_wild_ignore_table来代替

replicate_wild_do_table=test.%

replicate_wild_ignore_table=mysql.%

这样就可以避免出现上述问题了

实验如下:

    1.  
      第一种情况
    2.  
      从库:
    3.  
      replicate-ignore-db = mysql
    4.  
      主库:
    5.  
      use mysql
    6.  
      CREATE TABLE test.testrepl1(
    7.  
      id int(5))ENGINE=INNODB DEFAULT CHARSET=UTF8;
    8.  
      从库不会同步。坑
    9.  
       
    10.  
      第二种情况
    11.  
      从库:
    12.  
      replicate-ignore-db = mysql
    13.  
       
    14.  
      主库:
    15.  
      use test
    16.  
      CREATE TABLE mysql.testrepl2(
    17.  
      id int(5))ENGINE=INNODB DEFAULT CHARSET=UTF8;
    18.  
      从库不会同步。
    19.  
       
    20.  
       
    21.  
      第三种情况
    22.  
      use test
    23.  
      update mysql.user set user = 'testuser5' where user = 'testuser1';
    24.  
      从库会同步
    25.  
       
    26.  
      第四种情况
    27.  
      grant all on *.* to testnowild@'%' identified by 'ge0513.hudie';
    28.  
      从库会同步
    29.  
       
    30.  
      第二大类:
    31.  
      Replicate_Wild_Ignore_Table: mysql.%
    32.  
       
    33.  
      第五种情况
    34.  
      主库:
    35.  
      use test
    36.  
      update mysql.user set user = 'testuser1' where user = 'testuser5';
    37.  
      从库没有同步。
    38.  
       
    39.  
      第六种情况
    40.  
      主库:
    41.  
      grant all on *.* to testwild@'%' identified by 'ge0513.hudie';
    42.  
      从库没有同步。

小心使用replicate_do_db和replicate_ignore_db的更多相关文章

  1. mysql中replicate_wild_do_table和replicate_do_db区别

    使用replicate_do_db和replicate_ignore_db时有一个隐患,跨库更新时会出错. 如在Master(主)服务器上设置 replicate_do_db=test(my.conf ...

  2. mysql 主主互备

    双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做的好处多. 1. 可以做灾备,其中一个坏了可以切换到 ...

  3. percona-toolkit 之 【pt-slave-delay】说明

    摘要: 在主从复制的架构中,正常情况下主上操作的记录也会在从上进行操作,虽说是异步复制,但操作会“实时”的同步到从.比如在主上不小心误操作了,还没等反应过来从上也会马上执行误操作,后期只有通过二进制或 ...

  4. show slave各项参数解释

    how slave status 各个参数的解释 -- mysql 分类: mysql基础2012-08-23 11:03 2315人阅读 评论(0) 收藏 举报 服务器sslfilesqltable ...

  5. 12-MySQL DBA笔记-MySQL复制

    第12章 MySQL复制 本章将为读者讲述MySQL的复制技术,首先,介绍最基础的主从复制,它是其他所有复制技术的基础,接着再为读者讲述各种复制架构的搭建,最后,列举了一些常见的复制问题及处理方式.复 ...

  6. MySQL主从同步、读写分离配置步骤、问题解决笔记

    MySQL主从同步.读写分离配置步骤.问题解决笔记 根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记:       现在使用的两台服务器已经 ...

  7. mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

    数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...

  8. Mysql5.7.13主从同步(复制)配置

    主从同步是分布式mysql数据库相当重要的配置,现在我在虚拟机上完成主从配置,系统是CenterOS6.5,mysql版本是5.7.13 主服务器的ip是192.168.19.139 副服务器的ip是 ...

  9. MySQL学习笔记十七:复制特性

    一.MySQL的复制是将主数据库(master)的数据复制到从(slave)数据库上,专业一点讲就是将主数据库DDL和DML操作的二进制日志传到从库上,然后从库对这些二进制日志进行重做,使得主数据库与 ...

随机推荐

  1. python 测试:wraps

    任务: 现有两个函数: def print1(): print("I am print1") def print2(): print("I am print2" ...

  2. Data Flow ->> Multiple Excel Sheet Loaded Into One Table

    同个Excel文件中多个Sheet中的数据导入到单张表中,参考了文章:http://www.cnblogs.com/biwork/p/3478778.html 思路: 1) ForEach Loop组 ...

  3. JBOSS参数调优

        阅读目录 JBOSS参数调优 jvm调优讲解1 JVM调优讲解2 JVM常见配置汇总 JBOSS生产环境下JVM调优 JBOSS瘦身 JBoss性能优化:内存紧张的问题终于解决了(转载)--- ...

  4. java Date中方法toLocaleString过时的替代方案

    DateFormat ddf = DateFormat.getDateInstance(); DateFormat dtf = DateFormat.getTimeInstance(); DateFo ...

  5. Scrapy框架Windows下安装

    在windows下安装好Python3 后,安装Scrapy也有许多种方法,我这里采用pip 安装.前提您已经安装了pip 直接在cmd命令行中 pip install Scrapy building ...

  6. QT的lineidet的光标问题

    http://blog.csdn.net/Howard_Liu1314/article/details/10456165

  7. 一款可以安利的MarkDown编辑器

    Typeora一款可以安利的MarkDown编辑器 Typeora是什么? ​ 一款使用MarkDown的本地编辑器集结了MarkDown的所有特点并展现了简洁.高效的特点,关键是免费. 特点: 支持 ...

  8. 「C语言」数据类型及混合运算与类型转换

    深入学习C语言时,有必要先了解一下数据类型的概念,以及它们之间的混合运算与类型转换. 本篇文章便是根据<C语言程序设计教程>和在线翻阅资料后整理而出.(练习题将逐步更新) 目录:     ...

  9. AWK入门指南

    一. AWK入门指南 Awk是一种便于使用且表达能力强的程序设计语言,可应用于各种计算和数据处理任务.本章是个入门指南,让你能够尽快地开始编写你自己的程序.第二章将描述整个语言,而剩下的章节将向你展示 ...

  10. 如何使用Excel选择整列排序

    在excel中,排序的时候弹窗提示“若要执行此操作,所有合并单元格需大小相同”,该怎么操作才能实现排序呢?接下来,小编就和大家分享具体操作.   工具/原料   excel 方法/步骤     打开出 ...