前提信息:
centos7.4
mysql做AB复制时出现报错信息。从服务器IO进程显示NO
部署完mysqlAB复制之后查看状态
在从服务器上查看到的状态
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_Running: No
Slave_SQL_Running: Yes
查看报错信息
你的报错信息从你配置文件里查找日志位置。
[ERROR] [MY-013117] [Repl] Slave I/O for channel '': Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must t for replication to work (or the --replicate-same-server-id option must be used on slave but ot always make sense; please check the manual before using it). Error_code: MY-013117
查看server_id和UUID
主服务器信息:
root@localhost:~ # cat /usr/local/mysql/data/auto.cnf
[auto]
server-uuid=2736cbe5-ca35-11ea-92f7-000c29faf3c4
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 4269 |
+---------------+-------+
从服务器信息:
root@localhost: # cat /usr/local/mysql8.0/data/auto.cnf
[auto]
server-uuid=8a685c3f-ca96-11ea-9cbd-000c29fc732a
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 4269 |
+---------------+-------+
发现server_id一致导致IO进程不开启。
两种方式修改server_id
- 修改配置文件 /etc/my.cnf
server_id=175423
修改完成后需要重启mysql才能时配置文件成功。
- 如果配置文件修改不成功或是想直接修改可用命令修改
mysql> stop slave;
Query OK, 0 rows affected (0.09 sec)
mysql> set global server_id=238475;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave;
Query OK, 0 rows affected (0.13 sec)
查看slave状态
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
成功完成AB复制
验证略