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

Mysql 主从复制,从服务器无法连接

从服务器报错如下:

Slave_IO_Running: Connecting
Slave_SQL_Running: Yes

可能的解决办法

  1. 网络不同
  2. 密码不对
  3. pos不对

1. 网络不通解决方案:

1. telnet 测试端口是否通

telnet  192.168.56.11 3306

以下结果表示端口通:

端口不同结果:

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

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

随便修改一下 重启就行了

猜你喜欢

转载自blog.csdn.net/afgasdg/article/details/79808458