Centos7 Mysql5.6.40 主从结构 过滤复制
过滤复制
- 主库方面:
通过二进制日志是否记录,来控制过滤复制
mysql>show master status;
Binlog_Do_DB 白名单
Binlog_Ignore_DB 黑名单
- 从库方面:
通过一些开关,只复制某些库或表的二进制日志
mysql>show slave status \G;
库:(用的多)
Replicate_Do_DB:
Replicate_Ignore_DB:
表:
Replicate_Do_Table:
Replicate_Ignore_Table:
模糊:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
-
例子: 将3309开启过滤复制,只复制world和oldboy数据库数据 3.1 修改配置文件 vim /data/3309/my.cnf replicate_do_db=world replicate_do_db=oldboy 3.2 重启3309示例: mysqladmin -S /data/3309/mysql.sock shutown 3.3 启动3309示例: mysqld_safe --defaults-file=/data/3309/my.cnf & -
搭建过滤从库 4.1 全备主库 mysqldump -S /data/3307/mysql.sock -A --master-data=2 -R --triggers --single-transaction >/tmp/full.sql 4.2 从库恢复
[root@43812cb2f48a /]
mysql>set sql_log_bin=0;
mysql>source /tmp/full.sql
4.3 查看复制开始位置
[root@43812cb2f48a /]
4.4 主从配置,开启主从
[root@43812cb2f48a /]
mysql> help CHANGE MASTER TO
mysql> CHANGE MASTER TO
MASTER_HOST='127.17.0.2',
MASTER_USER='repl',
MASTER_PASSWORD='123',
MASTER_PORT=3307,
MASTER_LOG_FILE='msyql-bin.000007',
MASTER_LOG_POS=120,
MASTER_CONNECT_RETRY=10;
mysql> start slave
mysql> show slave status \G
|