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

隨便修改一下 重啓就行了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章