Centos7 Mysql5.6.40 主从结构 过滤复制

Centos7 Mysql5.6.40 主从结构 过滤复制

    • 往期历史
    • 过滤复制

往期历史

1.docker安装MySQL源码编译
2.Centos7 Mysql5.6.40 主从服务搭建
3.Mysql5.6.40 主从复制故障

过滤复制

  1. 主库方面:
    通过二进制日志是否记录,来控制过滤复制
	mysql>show master status;
 Binlog_Do_DB          白名单
 Binlog_Ignore_DB    黑名单
  1. 从库方面:
    通过一些开关,只复制某些库或表的二进制日志
	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:
  1. 例子: 将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 &

  2. 搭建过滤从库
    4.1 全备主库
    mysqldump -S /data/3307/mysql.sock -A --master-data=2 -R --triggers --single-transaction >/tmp/full.sql
    4.2 从库恢复

[root@43812cb2f48a /]# mysql -S /data/3308/mysql.sock
mysql>set sql_log_bin=0;
mysql>source /tmp/full.sql

4.3 查看复制开始位置

[root@43812cb2f48a /]# head -30 /tmp/full.sql

Centos7 Mysql5.6.40 主从结构 过滤复制_第1张图片
4.4 主从配置,开启主从

[root@43812cb2f48a /]# mysql -S /data/3309/mysql.sock
mysql> help CHANGE MASTER TO #查看执行sql命令
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',#主库bin日志
  MASTER_LOG_POS=120, 
  MASTER_CONNECT_RETRY=10;   #连接重试次数
mysql> start slave  #启动主从
mysql> show slave status \G #主从复制监控(查看主从是否启动成功)

Centos7 Mysql5.6.40 主从结构 过滤复制_第2张图片

你可能感兴趣的:(mysql,1024程序员节,mysql,linux,centos)