一、缘由

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

二、解决办法

  可以按照同步(复制)库的方法来,在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.%

  

[MySQL] 同步一张表、复制过滤设置的更多相关文章

  1. MySQL将一张表的某些列数据,复制到另外一张表,并且修改某些内容

    MySQL将一张表的某些列数据,复制到另外一张表 INSERT INTO t_topic_content(content,topicId) SELECT content,id FROM t_topi ...

  2. 关于跨DB增量(增、改)同步两张表的数据小技巧

    有些场景下,需要隔离不同的DB,彼此DB之间不能互相访问,但实际的业务场景又需要从A DB访问B DB的情形,这时怎么办?我认为有如下常规的三种方案: 1.双方提供RESET API,需要访问不同DB ...

  3. 利用sqlldr从MySQL导出一张表数据到Oracle

    根据业务需求,需要从MySQL库中同步一张表tap_application到Oracle中,下面是记录的导入过程. 1. 查看MySQL表结构 desc tap_application; +----- ...

  4. 通过mapreduce把mysql的一张表的数据导到另外一张表中

    怎么安装hadoop集群我在这里就不多说了,我这里安装的是三节点的集群 先在主节点安装mysql 启动mysql 登录mysql 创建数据库,创建表格,先把数据加载到表格 t ,表格t2是空的 mys ...

  5. 将Mysql的一张表导出至Excel格式文件

    将Mysql的一张表导出至Excel格式文件 导出语句 进入mysql数据库,输入如下sql语句: select id, name, age from tablename into outfile ' ...

  6. MySQL 查询多张表中相同字段的最大值

    MySql : 有N张表,N未知,每张表都有一个字段(id),每张表的字段结构不完全一样,如何查询所有表里面所有id的最大值?如下图所示: 对上面三张表进行操作的话,结果应该为:9 SQL语句: se ...

  7. mysql关联两张表时的编码问题

    Mysql关联两张表时,产生错误提示Illegal mix of collations 1.先用工具把数据库.两张表的编码方式改变 2.这步很重要,需要改变字段的编码方式. ALTER TABLE ` ...

  8. Oracle:同步两张表的相同字段

    有一个需求需要同步两张表的相同字段,比如表A和表B,这两张表是不同的用户下的表,表结构是一样的. 一开始我简单写了一个sql语句,如下: update ord_log1 A set (A.pid, A ...

  9. MySQL实现两张表数据的同步

    有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发 ...

随机推荐

  1. HDU-5785 Interesting(Manacher算法+区间处理)

    题目大意:给一个字符串,求所有相邻两回文子串的外侧下标之积的和 题目分析:另L[i]为所有以 i 为右端点的回文字串的左端点之和,同理,另R[i]表示所有以 i 为左端点的回文子串的右端点之和.显然, ...

  2. 最简puremvc

    工程如下,看来sendNotification是像comand和mediator发消息的 package { import flash.display.Sprite; import flash.eve ...

  3. nginx log记录请求的头信息

    记录访问的log,为了在出现特殊情况时,方便检查出现问题的地方.log_format accesslog ‘$remote_addr – $remote_user [$time_local] “$re ...

  4. Questions that are independent of programming language. These questions are typically more abstract than other categories.

    Questions that are independent of programming language.  These questions are typically more abstract ...

  5. CorelDRAW 实现蒙版效果的方法

    CorelDRAW能够实现很多意想不到的小效果,其中包括了位图图像软件的处理功能,蒙版效果就是其中的一项.作为矢量图形处理软件,从理论上讲它并不具备蒙板技术,然而只是我们平常没有用到而已,利用图框精确 ...

  6. webpack 多entry 配置

    // webpack 多entry 配置var path = require('path'); module.exports = { entry: { entry2: './entry.js', de ...

  7. html之内联标签a

    a标签:定义超链接,用于从一个页面链接到另一个页面,最重要的属性href,如果没有href属性,则不可以使用如下属性:download,hreflang,media,rel,target,type. ...

  8. 通过新浪ip地址库获得用户的省份、城市等信息

    <script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script> ...

  9. Splashscreen

    Splashscreen Enables developers to show/hide the application's splash screen. Methods show hide Perm ...

  10. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(二)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2339490.html MS CRM 2011的自定义和开发(11)——插件(plugin ...