mysql|Mysql集群-----(附录2) Mysql 主从复制,从服务器无法连接问题

Mysql 主从复制,从服务器无法连接 【mysql|Mysql集群-----(附录2) Mysql 主从复制,从服务器无法连接问题】从服务器报错如下:

Slave_IO_Running: Connecting Slave_SQL_Running: Yes

mysql|Mysql集群-----(附录2) Mysql 主从复制,从服务器无法连接问题
文章图片

可能的解决办法
  1. 网络不同
  2. 密码不对
  3. pos不对
1. 网络不通解决方案:
1. telnet 测试端口是否通
telnet192.168.56.11 3306

以下结果表示端口通:
mysql|Mysql集群-----(附录2) Mysql 主从复制,从服务器无法连接问题
文章图片

端口不同结果:
telnet: connect to address 192.168.56.11: Connection refused

2. 关闭防火墙或则添加端口
Centos7 防火墙常用命令
#启动firewall systemctl start firewalld.service#停止firewall systemctl stop firewalld.service#禁止firewall开机启动 systemctl disable firewalld.service

开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload

2. 密码或权限不正确
1.密码测试
mysql -utest -p -h192.168.56.11

可测试密码正确性
2. 分配任何主机都能连接权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%'; # 刷新权限 mysql> FLUSH PRIVILEGES;

3. pos位置不正确解决方案
1. 使用mysql change 修改pos
hljs ruleslanguage">CHANGE MASTER TO MASTER_HOST='192.168.56.11', MASTER_USER='test', MASTER_PASSWORD='centos', MASTER_LOG_FILE='mysql-bin.000008', MASTER_LOG_POS= 502;

2. 如果不能同步,或者之前的log-bin 丢失,可以使用新的同步点,步骤如下:
从服务器操作:
1. 停止slave
mysql> stop slave;

  1. 主服务器刷新日志:
mysql> flush logs;

  1. 查看主服务器日志点记录下:file 和position 位置;
mysql> show master status\G;

  1. 切换到从服务器,修改从服务器同步点
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000114',MASTER_LOG_POS=120;

  1. 启动从服务器:
start slave;

  1. 查看从服务器同步状态:
show slave status\G;

4. Slave_IO_Running: No 可能的解决方案 如果Slave_IO_Running: No 则查看 Last_IO_Error:
显示信息
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

解决办法(原因可能是服务器是拷贝):
修改数据文件中的 auto.cnf
[auto] server-uuid=6dcee5be-8cdb-11e2-9408-90e2ba2e2ea6

随便修改一下 重启就行了

    推荐阅读