Mysql5.7.16 主从并行复制设置及troubleShooting

-----------------------------------------主从复制

1、配置并行复制
###检查基本参数设置
grep 'log-bin' my.cnf
grep 'server-id'  my.cnf
grep 'innodb_flush_log_at_trx_commit' my.cnf
grep 'sync_binlog' my.cnf

###my.cnf增加并行复制线程信息
# multi-thread-slave
## 设置复制类型为 LOGICAL_CLOCK
slave-parallel-type         =LOGICAL_CLOCK
## 设置并行数量为 16
slave-parallel-workers      =16
master_info_repository      =TABLE
relay_log_info_repository   =TABLE
relay_log_recovery          =ON

###重启数据库,查看并行参数是否已更新
SQL>show variables like 'slave_parallel_workers';
SQL>show processlist;


2、主库建用户,赋权限:
grant replication slave, replication client on *.* to 'copy'@'%' identified by '******';
flush privileges;

从库:
stop slave; 
CHANGE MASTER TO   MASTER_HOST='**********', MASTER_USER='copy',  MASTER_PASSWORD='********', MASTER_PORT=3306, MASTER_AUTO_POSITION = 1;
start slave;

在从库查看状态
mysql> show slave status;
Read_Master_Log_Pos: 600     //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos
Slave_IO_Running: Yes    //此状态必须YES
Slave_SQL_Running: Yes     //此状态必须YES

在主库查看状态
show master status;

------------------------Slave_IO/SQL_Running: NO 问题解决 
mysql> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
mysql> reset master;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G
*************************** 1. row ***************************
             Slave_IO_Running: No
            Slave_SQL_Running: No
1 row in set (0.00 sec)

mysql> reset slave all;
Query OK, 0 rows affected (0.01 sec)

mysql> CHANGE MASTER TO   MASTER_HOST='**********', MASTER_USER='copy',  MASTER_PASSWORD='********', MASTER_PORT=3306, MASTER_AUTO_POSITION = 1;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> start slave;
Query OK, 0 rows affected (0.06 sec)

mysql> show slave status\G
*************************** 1. row ***************************
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
1 row in set (0.00 sec)

你可能感兴趣的:(Mysql)