返回顶部
首页 > 资讯 > 数据库 >关于replicate_do_db和replicate_ignore_db的坑
  • 469
分享到

关于replicate_do_db和replicate_ignore_db的坑

2024-04-02 19:04:59 469人浏览 独家记忆
摘要

介绍 Mysql5.7官方文档关于相关参数的介绍:https://dev.mysql.com/doc/refman/5.7/en/change-replication-filter.html 在5.7版本支

介绍

Mysql5.7官方文档关于相关参数的介绍:https://dev.mysql.com/doc/refman/5.7/en/change-replication-filter.html

在5.7版本支持动态修改,之前的版本需要重启数据库

STOP SLAVE sql_THREAD;

CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB=(demo);

START SLAVE SQL_THREAD;

问题描述

在主库执行语句,如果不使用use db;
创建新表的语句不会在从库执行,进而导致主从错误

场景复现

从库配置:


replicate-ignore-db = test
replicate-do-db = abc

主库操作:

22:29:04test>use test;
Database changed
22:30:26test>create table abc.t0417(id int,name varchar(20));
Query OK, 0 rows affected (0.08 sec)

22:31:37abc>use test;
Database changed
22:32:05test>insert into abc.t0417 values(1,'a');
Query OK, 1 row affected (0.02 sec)

从库状态,SQL线程出现报错:

22:31:07abc>show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.136.128
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000015
          Read_Master_Log_Pos: 8478
               Relay_Log_File: cptest-relay-bin.000007
                Relay_Log_Pos: 1292
        Relay_Master_Log_File: mysql-bin.000015
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
              Replicate_Do_DB: abc
          Replicate_Ignore_DB: test
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 1146
                   Last_Error: Error executing row event: 'Table 'abc.t0417' doesn't exist'
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 8235
              Relay_Log_Space: 1709
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 1146
               Last_SQL_Error: Error executing row event: 'Table 'abc.t0417' doesn't exist'
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
                  Master_UUID: 4ac80f6d-8063-11e7-9d63-000c291d913c
             Master_Info_File: /data/mysql/mysql3309/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: 
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 180416 22:32:20
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 4ac80f6d-8063-11e7-9d63-000c291d913c:3609-3630
            Executed_Gtid_Set: 4ac80f6d-8063-11e7-9d63-000c291d913c:1:3609-3629,
a1c747e9-4170-11e8-883f-000c29c6b279:1
                Auto_Position: 0
1 row in set (0.00 sec)
解决问题

更改从库配置:

#replicate-ignore-db = test
#replicate-do-db = abc
replicate_wild_do_table = abc.%
replicate_wild_ignore_table = test.%

主库操作:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 65
Server version: 5.6.35-log Source distribution

Copyright (c) 2000, 2016, oracle and/or its affiliates. All rights reserved.

Oracle is a reGIStered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

caopeng@192.168.136.128 00:39:16(none)>use test;
Database changed
caopeng@192.168.136.128 00:39:32test>create table abc.test0417(id int,name varchar(20));
Query OK, 0 rows affected (0.17 sec)

caopeng@192.168.136.128 00:40:25test>insert into abc.test0417 values(1,'b');
Query OK, 1 row affected (0.11 sec)

从库状态:

root@localhost 00:39:06(none)>show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.136.128
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000015
          Read_Master_Log_Pos: 9644
               Relay_Log_File: cptest-relay-bin.000010
                Relay_Log_Pos: 771
        Relay_Master_Log_File: mysql-bin.000015
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: abc.%
  Replicate_Wild_Ignore_Table: test.%
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 9644
              Relay_Log_Space: 945
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
                  Master_UUID: 4ac80f6d-8063-11e7-9d63-000c291d913c
             Master_Info_File: /data/mysql/mysql3309/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 4ac80f6d-8063-11e7-9d63-000c291d913c:3609-3635
            Executed_Gtid_Set: 4ac80f6d-8063-11e7-9d63-000c291d913c:1:3609-3635,
a1c747e9-4170-11e8-883f-000c29c6b279:1-6
                Auto_Position: 0
1 row in set (0.00 sec)

root@localhost 00:40:54(none)>select * from abc.test0417;
+------+------+
| id   | name |
+------+------+
|    1 | b    |
+------+------+
1 row in set (0.00 sec)
总结
  • 使用replicate_do_dbreplicate_ignore_db两个参数时在主库操作需要使用use db;然后再进行其他操作
  • 推荐使用replicate_wild_do_table,
    replicate_wild_ignore_table
您可能感兴趣的文档:

--结束END--

本文标题: 关于replicate_do_db和replicate_ignore_db的坑

本文链接: https://lsjlt.com/news/41423.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 关于replicate_do_db和replicate_ignore_db的坑
    介绍 MySQL5.7官方文档关于相关参数的介绍:https://dev.mysql.com/doc/refman/5.7/en/change-replication-filter.html 在5.7版本支...
    99+
    2024-04-02
  • 关于electron打包的坑
    首先electron打包的方式有两种 通过electron-builder通过electron-package 两种方式,electron-builder打包的话扩展性更强,包也较小...
    99+
    2023-03-01
    electron打包 electron打包报错
  • 关于C++的坑有哪些
    这篇文章主要讲解了“关于C++的坑有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“关于C++的坑有哪些”吧!1. string的字符串拼接,导致coredump该问题的核心点在于第9行,...
    99+
    2023-06-16
  • 关于TypeScript的踩坑记录
    目录用字符串做下标报错函数内使用this报错找不到模块XXX引入模块提示找不到声明文件(接上一个问题)JSON直接解析localStorage值报错初始加载的组件未命名,浏览器打开页...
    99+
    2024-04-02
  • Shell中关于exit0的那些坑
    在 shell 编程中,需慎用 exit 0! 首先必须弄清楚 exit 0 不是 return 0, 区别在于 return 0 用于函数中,表示函数执行成功返回 0;而 exit...
    99+
    2024-04-02
  • python中关于os.path.pardir的一些坑
    目录关于os.path.pardir的一些坑python中os.path常用模块1 BASE_DIR变量2 os.listdir()的用法3 如下所示4 os.path.splite...
    99+
    2024-04-02
  • 关于Vue3&TypeScript的踩坑汇总
    目录安装环境创建项目1、配置路由2、安装VueX 3、安装国际化4、vite.config.ts常用配置5、找不到模块声明declare6、path模块找不到打包问题Vit...
    99+
    2024-04-02
  • mybatis关于Criteria使用的小坑
    目录关于Criteria使用的小坑关于Criteria使用的注意点关于Criteria使用的小坑 在用Criteria时,相关代码如下: final RolePermission...
    99+
    2024-04-02
  • 关于Pyinstaller打包eel和pygame需要注意的坑
    这几天我们团队用python做了一个游戏,引擎用的pygame,UI界面用的eel(一个python库,用于利用HTML开发桌面应用程序,主要是因为QT机制太过复杂,而博主Deadp...
    99+
    2024-04-02
  • 关于python的mediapipe库踩过的坑
      大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页:lqj_本人的博客_CSDN博客-微信小程序,前端,vue领域博主lqj_本人擅长微信小程序,前端,vue,等方面的知识https://blog.csdn.net/l...
    99+
    2023-09-06
    python pycharm 开发语言
  • Oracle 中关于 group by 的那些坑
    分组聚合Group by  在mysql中,对group by 的使用限制是比较宽松,还是比较灵活的, 表数据之间的调取是完全没问题的; 而在Oracle中,对group by 就有一定限制,两句相同的SQL语句,可能在mys...
    99+
    2021-03-16
    Oracle 中关于 group by 的那些坑
  • Shell中关于exit 0的那些坑
    在 shell 编程中,需慎用 exit 0! 首先必须弄清楚 exit 0 不是 return 0, 区别在于 return 0 用VGqldKkU于函数中,表示函数执行成功返回 0;而 exit 0 则代表你当前程序...
    99+
    2022-06-05
    Shellexit0
  • iOS NSDate中关于夏令时的坑
    前言 最近线上推广项目的时候,运营反馈了几个bug,其中一个就是字符串转NSDate对象出现nil的情况。 举个例子: NSString *timeStr = @"1992-04...
    99+
    2022-05-20
    ios nsdate 时间戳
  • Flutter中关于angle的踩坑记录
    这个问题是我最近做业务开发和业余开发都遇到的,这里的 angle 指的是旋转弧度。不是旋转角度。 先看一下我使用 angle 的场景吧: 图一中使用了 canvas.drawA...
    99+
    2024-04-02
  • 详解关于Android Studio中安装和gradle的一些坑
    本人从开始用Android Studio到现在已经快一年了吧,在我刚开始用的时候Android Studio还是1.2的版本。当时安装会因为国内墙的缘故,导致下载SDK步骤卡死无法安装。最近的版本似乎都没出现这个问题,但是还是要吐槽一下最近...
    99+
    2023-05-30
    android studio gradle
  • 关于字符串和对象互转以及JSON.parse()的坑
    目录字符串和对象互转及JSON.parse()的坑重点JSON解析对象字符串JSON.parse(objStr)报错 字符串和对象互转及JSON.parse()的坑 最近去...
    99+
    2024-04-02
  • 简单谈谈关于 npm 5.0 的新坑
    前言 前几天升级了 Node.js v8.0 后,自带的 npm 也升级到了5.0,第一次使用的时候确实惊艳到了:原本重新安装一次模块要十几秒到事情,现在一秒多就搞定了。 先不要激动,现在我来大概讲一下 n...
    99+
    2022-06-04
    简单 npm
  • 解决golang 关于全局变量的坑
    学习golang不久,在定义全局变量的时候遇见了坑。写个小例子,增强记忆。 错误版本 var p int func main() { p, err := test(4) if...
    99+
    2024-04-02
  • 解决springboot集成rocketmq关于tag的坑
    springboot集成rocketmq关于tag的坑 新项目使用springboot的若依框架集成rocketmq,选择集成RocketMQTemplate这种方式实现消息的发送和...
    99+
    2024-04-02
  • Flutter中关于angle的坑实例分析
    这篇“Flutter中关于angle的坑实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Flutter中关于angle...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作