ITPub博客

首页 > 数据库 > MySQL > MySQL搭建带过滤的复制环境

MySQL搭建带过滤的复制环境

原创 MySQL 作者:壹頁書 时间:2014-08-12 20:00:49 1 删除 编辑
单位准备新上线一些功能,这些功能和原来生产库模块的功能是没有关系的,准备新建一个数据库给它使用。
但是他需要关联查询原来生产库的某些表。
后来的方案就是新建一个库,从原来的生产库复制需要的那几个表过来用于关联查询。


模拟如下
Master模拟生产库,Slave是新建的数据库,只是从Master服务器复制表A。

1.Master初始化数据,模拟线上运行一段时间的数据库
  1. create database mvbox;
  2. use mvbox;
  3. create table a as select * from mysql.user;
  4. create table b as select * from mysql.db;
2.Master创建复制帐号
  1. grant replication slave,replication client on *.*
  2. to xx@'%' identified by 'xx';
3.修改Slave的配置文件
    replicate-do-table=mvbox.a

4.Slave创建目标数据库 mvbox
    create database mvbox;    

5.Slave配置复制信息
  1. change master to
  2. master_host='192.168.56.1',
  3. master_port=3306,
  4. master_user='xx',
  5. master_password='xx';

6.Slave导入Master的数据(Slave服务器上执行)
  1. mysqldump -uxx -pxx -h192.168.56.1 --single-transaction --master-data mvbox a | mysql -uroot -Dmvbox
原理:
这个过程执行之前,查看Master的binlog位置


假如在Slave上生成Master SQL文件的内容
mysqldump -uxx -pxx -h192.168.56.1 --single-transaction --master-data mvbox a > a.sql
可以看到生成的内容已经包括了Master服务器binlog的信息


应用了mysqldump的内容之后
此时查看Slave的复制状态


7.在Slave上启动复制
    start slave;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29254281/viewspace-1250101/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-10-19

  • 博文量
    620
  • 访问量
    6339970