mysql主从复制(四)

复制指定的数据库或者数据表

replicate-do-table 和 replicate-ignore-table
1)启动主从数据库,在主库test中创建两个数据包,rep_t1 rep_t2
   mysqld_multi --defaults-extra-file=/etc/my.cnf start 1-3
   mysql -uroot -p -P3306 -S /tmp/mysql.sock
2)关闭数据库服务器,编辑从库配置参数replicate-do-table=test.rep_t1指定test数据库中的rep_t1表被>复制 replicate-ignore-table=test.rep_t2指定test库中的rep_t2表不会被复制
   vi /etc/my.cnf
   [mysqld2]
   ...
   port = 3307
   socket = /tmp/mysql2.sock
   server-id = 2
   replicate-do-table = test.rep_t1
   replicate-ignore-table=test.rep_t2

3)启动从服务器
   mysql> start slave;
4)主从服务器都更新成功后,开始更新主数据库test库中的rep_t1表和rep_t2表
  mysql> insert into rep_t1 values(888);
  mysql> insert into rep_t2 values(888);
5)登录从数据库,检查test库中rep_t1表和rep_t2表的数据更新情况
   mysql -uroot -P 3307 -S /tmp/mysql2.sock
   检测数据库的更新情况:
   mysql> select * from rep_t1;
   mysql> select * from rep_t2;
replicate-do-db和replicate-ignore-db的用法
1)启动主从数据库,查询主数据库中有哪些数据库
   mysqld_multi --defaults-extra-file=/etc/my.cnf  start 1-3
   mysql -uroot -P 3306 -S /tmp/mysql.sock
   登录数据库,查看 mysql> show databases;
2)mysqldump -uroot -P 3306 -S /tmp/mysql.sock --all-databases > all.sql
3)登录从数据库,导入all.sql中的数据,保持从服务器与主服务器数据一致
   mysql -uroot -P 3307 -S /tmp/mysql2.sock
   mysql> show databases;
   mysql> source ./all.sql
   mysql> show databases; 可以看到数据库已被导入
4)关闭从库,
   mysqld_multi --dedaults-extra-file=/etc/my.cnf stop 1-3
   配置/etc/my.cnf
   [mysqld2]
   ..
   port = 3307
   socket = /tmp/mysql2.sock
   server-id = 2
   #replicate-do-table = test.rep_t1
   #replicate-ignore-table=test.rep_t2
   replicate-do-db=test
   replicate-do-db=cc
   replicate-ignore-db=tt
5)然后启动主从数据库,在主库增加cc_t1表,在tt库增加tt_t1表
   mysqld_multi --dedaults-extra-file=/etc/my.cnf start 1-3
   mysql> use cc;
   mysql> create table cc_t1(data int);
   mysql> use tt;
   mysql> create table tt_t1(data int);
6)登录从库,检查数据库是否更新
   mysql -uroot -P 3307 -S /tmp/mysql2.sock
   mysql> use cc;
   mysql> show tables;
   mysql> use tt;
   mysql> show tables;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值