Mysql叢集-----(附錄2) Mysql 主從複製,從伺服器無法連線問題
阿新 • • 發佈:2019-01-01
Mysql 主從複製,從伺服器無法連線
從伺服器報錯如下:
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
可能的解決辦法
- 網路不同
- 密碼不對
- 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;
- 主伺服器重新整理日誌:
mysql> flush logs;
- 檢視主伺服器日誌點記錄下:file 和position 位置;
mysql> show master status\G;
- 切換到從伺服器,修改從伺服器同步點
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000114',MASTER_LOG_POS=120;
- 啟動從伺服器:
start slave;
- 檢視從伺服器同步狀態:
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
隨便修改一下 重啟就行了