zoukankan      html  css  js  c++  java
  • [MySQL] 同步一张表、复制过滤设置

    一、缘由

      据测试要求,需要把线上一张股票信息的表实时同步到测试环境,那么干吧,这次不复制库,单独复制表。

    二、解决办法

      可以按照同步(复制)库的方法来,在salve端设置 my.cnf,replicate-wild-do-table = 99cjadmin.99cj_stock_dynamic,这么设置后

    主数据库所有的binlog都会复制到从数据库,而从数据库SQL线程在读取relay log的时候只筛选99cjadmin.99cj_stock_dynamic这张表的

    事务,并应用更新到从数据库。

      MySQL5.7.3版本开始,允许动态更改这个参数,敲命令:CHANGE REPLICATION FILTER。

    三、复制过滤解析

      复制过滤可以让你只复制服务器中的一部分数据,有两种复制过滤:

    1.在Master上过滤二进制日志中的事件,决定哪些库的更改写入二进制日志。(一般不用,默认全部写binlog)

    2.在Slave上过滤中继日志中的事件,决定哪些库和表需要SQL线程应用到从库。

      

    推荐只在Slave端设置replicate_wild_do_table=db.* 或者 replicate_wild_ignore_table=db.*;这两个参数可以解决跨库更新问题。

    MySQL5.6后推荐设置binlog_format=ROW,即基于行的复制。

    do_xxx 和ignore_xxx只用按需求选择一个即可,这样清晰明了、不易混淆。

     

    MySQL5.6复制的时候建议过滤掉这些库,只复制生产环境的数据

    replicate-wild-ignore-table =mysql.%
    replicate-wild-ignore-table =information_schema.%
    replicate-wild-ignore-table =performance_schema.%

      

  • 相关阅读:
    Unity3d Platformer Pro 2D游戏开发框架使用教程
    程序员如何学习一门新的编程语言
    走进函数式编程
    1001. Exponentiation高精度运算总结
    Kindle PaperWhite3 越狱和PDF插件的安装
    Unity3d中的PlayerPrefs游戏存档API的扩展
    程序员学习路线和学习书单
    1000. A+B Problem
    Mac端SVN工具CornerStone详解
    Unity3d粒子系统详解
  • 原文地址:https://www.cnblogs.com/langdashu/p/5893518.html
Copyright © 2011-2022 走看看