前幾天在測試主從服務器Mysql同步時遇到了從數據庫顯示Slave_IO_Running:Connecting; Slave_SQL_Running:Yes的問題。
下面列舉幾種可能的錯誤原因:
1.網絡不通
2.賬戶密碼錯誤
3.防火牆
4.mysql配置文件問題
5.連接服務器時語法
6.主服務器mysql權限
我的服務器ip:
主服務器ubuntu:192.168.16.105
從服務器ubuntu:192.168.16.115
逐項排除:
1:因為從服務器是虛擬機,網卡選擇了橋接模式,ip地址確認在同一網段中,且互ping能通,排除網絡問題。
2:主服務器創建了賬號slave密碼slave的權限賬號,在主服務器可以登錄slave帳號,排除帳號密碼問題。
3:終端輸入 sudo ufw disable 關閉防火牆, sudo ufw status查看防火牆,確認已關閉,排除防火牆原因。(sudo ufw enable打開防火牆)
4:配置文件
(1)查看主服務器配置文件:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,看第83行:確認log_bin和server-id已經取消注釋,設置無錯誤。
(2)查看從服務器:
此處server-id只需要與主服務器不同即可,我設置為ip的末尾數字115。確認配置無錯誤,排除。
5.語法:
(1)查看主服務器二進制日志信息show master status;
(2)設置從服務器鏈接到master主服務器,確認語句無錯誤,排除。
注:
master_host:主服務器Ubuntu的ip地址
master_log_file: 前面查詢到的主服務器日志文件名
master_log_pos: 前面查詢到的主服務器日志文件位置
change master to master_host='192.168.16.105', master_user='slave', master_password='slave',master_log_file='mysql-bin.000011', master_log_pos=154;
1
6.權限:
(1)主服務器查看slave帳號,已設置登錄ip為%
(2)在從服務器上登錄主服務器slave帳號測試:
無法登錄主服務器!打開主服務器配置文件發現43行有一條綁定主機ip的語句,問題出在這里!!!給它注釋掉!保存退出。重啟主服務器數據庫:sudo service mysql restart
(3)重新測試從服務器上登錄主服務器slave帳號:登錄成功!
(4)重新進入從服務器鏈接master主服務器,start slave開啟主從同步,輸入show slave status \G查看從服務器狀態,若開啟不成功先stop slave,再start slave,可以看到Slave_IO_Runninghe和Slave_SQL_Running狀態都是Yes,同步成功。
