zoukankan      html  css  js  c++  java
  • CentOS 7 MySQL5.7 主从只同步部分库或表

    同步部分数据有两个思路:

    • master只发送需要的;
      • 优点:中继日志小;如果多从库,只需要在主库中统一控制 
      • 缺点:中途修改比较麻烦,不能控制同步的表
    • slave只接收想要的
      • 优点:中途修改同步的表或库方便;可以控制需要的表和库
      • 缺点:中继日志大;如果从库比较多,需要一个一个配置;

    master端

    binlog-do-db      二进制日志记录的数据库(多数据库用逗号,隔开)

    binlog-ignore-db 二进制日志中忽略数据库 (多数据库用逗号,隔开)

    例1:

    binlog-do-db=zn,zn1,zn2  #需要同步的数据库,不在内的不同步。(不添加这行表示同步所有)
    
     
    
    binlog-do-db=zn
    
    binlog-do-db=zn1
    
    binlog-do-db=zn2
    
     

    配置同步的表:

    些版本操作失败,mysql服务无法启动

    binlog-do-table 二进制日志记录的数据的

    例2

    binlog-ignore-db = mysql  # 这是不记录binlog,关闭所有从库同步,以确保各自权限
    
    binlog-ignore-db = performance_schema
    
    binlog-ignore-db = information_schema
    
     

    slave端

    replicate-do-db    设定需要复制的数据库(多数据库使用逗号,隔开)

    replicate-ignore-db 设定需要忽略的复制数据库 (多数据库使用逗号,隔开)

    replicate-do-table  设定需要复制的表

    replicate-ignore-table 设定需要忽略的复制表 

    replicate-wild-do-table 同replication-do-table功能一样,但是可以通配符

    replicate-wild-ignore-table 同replication-ignore-table功能一样,但是可以加通配符

    例1:

    从库忽略复制数据库test3,但是需要说明的是,其实从库的relaylog中是从在关于test3的相关日志,只是从库没有使用罢了。

    增加通配符的两个配置

    replicate-wild-do-table=db_name.%   #只复制哪个库的哪个表
    
    replicate-wild-ignore-table=mysql.%   #忽略哪个库的哪个表

  • 相关阅读:
    Mutex和Lock
    Thread和Promise以及packaged_task
    async和Future
    《并行程序设计导论》——读书笔记汇总
    UnrealEngine4蓝图可视化编程 完整例子 勘误
    BOOST下载
    sql 解析xml
    AutoResetEvent 笔记2
    ssh免密登录设置 (普通用户和root用户)
    npm设置淘宝镜像
  • 原文地址:https://www.cnblogs.com/ypeuee/p/13276580.html
Copyright © 2011-2022 走看看