当前位置: 代码网 > it编程>数据库>Mysql > MySQL主从库过滤复制配置教程

MySQL主从库过滤复制配置教程

2024年05月18日 Mysql 我要评论
搭建mysql主从库过滤复制,备份指定数据库,有利于数据库的管理。这个教程在同个服务器上同个mysql数据库环境,搭建不同实例的数据库。此配置教程与不同服务器配置mysql方法时一致。依据不同mysq

搭建mysql主从库过滤复制,备份指定数据库,有利于数据库的管理。这个教程在同个服务器上同个mysql数据库环境,搭建不同实例的数据库。此配置教程与不同服务器配置mysql方法时一致。

依据不同mysql实例来配置不同端口号,以端口号命名方式来命名mysql实例,主库为3307,从库为3309。

将3309开启过滤复制,只复制world和abc数据库数据。

1. 修改配置文件:

vim /data/3309/my.cnf
replicate_do_db=world
replicate_do_db=abc

2. 关掉3309库  :

[root@mv171 3309]# mysqladmin -s /data/3309/mysql.sock shutdown

3. 再启动3309库 :  

[root@mv171 3309]# mysqld_safe --defaults-file=/data/3309/my.cnf &

4. 构建主从环境:备份主库数据(3307)并恢复到3309

备份3307主库数据

 [root@mv171 3307]# mysqldump -s /data/3307/mysql.sock -a --master-data=2 --single-transaction >/tmp/full.sql

5. 进入3309库:

[root@mv171 3309]# mysql -s /data/3309/mysql.sock

5.1 先关闭二进制日志写入功能:

 mysql> set sql_log_bin=0;

5.2 恢复数据:

mysql> source /tmp/full.sql

5.3 查看主库3307的起始二进制文件和位置号:

[root@mv171 ~]# head -30 /tmp/full.sql
......
-- change master to master_log_file='mysql-bin.000001', master_log_pos=2039;
#主库在用的二进制日志文件为mysql-bin.000001,位置号为2039
......

6. 开启主从配置:

change master to
  master_host='192.168.1.171',
  master_user='repl',
  master_password='666888',
  master_port=3307,
  master_log_file='mysql-bin.000001',
  master_log_pos=2039,
  master_connect_retry=10;

7. 开启主从:

mysql> start slave;

8. 主从配置已完成,查看从库状态:show slave status \g;

mysql> show slave status \g;
*************************** 1. row ***************************
               slave_io_state: waiting for master to send event
                  master_host: 192.168.1.171
                  master_user: repl
                  master_port: 3307
                connect_retry: 10
              master_log_file: mysql-bin.000001
          read_master_log_pos: 2039
               relay_log_file: mv171-relay-bin.000002
                relay_log_pos: 283
        relay_master_log_file: mysql-bin.000001
             slave_io_running: yes
            slave_sql_running: yes
              replicate_do_db: world,abc

这时后可以查看replicate_do_db:world,abc。

  • 最终过滤主从关系配置完成,在配置完成过滤主从复制之前主库没有world,abc数据库,在主库新建这两个数据库时,这两个数据库是可以同步到从库;但如果新建其他名称数据库,比如efg数据,是不会同步到从库中来。
  •  另外注意主从过滤复制的写法,在配置文件中不要将两个数据库通过写在一个命令参数,比如replicate_do_db=world,abc,这么写mysql就认定过滤数据库名是“world,abc”,两个库必须分开写,不要以为逗号或分割符号表示分开两个库,这样做法是错误的。

到此这篇关于mysql主从库过滤复制配置教程的文章就介绍到这了,更多相关mysql主从库过滤复制内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com