在使用MySQL5.7主從復(fù)制過程中,很可能會遇到一些問題,如出現(xiàn)錯誤提示。本文將介紹一些主從復(fù)制出錯的情況,并給出相應(yīng)的解決方案。
1. 無法連接主從服務(wù)器
Could not connect to the master: Access denied for user 'slave_user'@'slave_host' (using password: YES)
這種情況一般是由于主從服務(wù)器之間的用戶名或密碼不一致導(dǎo)致的。可以通過以下步驟解決:
在主服務(wù)器上執(zhí)行以下語句: GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'slave_host' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
2. Slave_IO_Running和Slave_SQL_Running狀態(tài)異常
Slave_IO_Running: Connecting Slave_SQL_Running: Yes
這種情況一般是由于主從服務(wù)器之間網(wǎng)絡(luò)連接出現(xiàn)問題,或是防火墻攔截導(dǎo)致的。可以通過以下步驟解決:
檢查主從服務(wù)器之間的網(wǎng)絡(luò)連接是否正常; 檢查防火墻是否攔截了主從服務(wù)器之間的連接端口; 檢查從服務(wù)器的主庫配置信息是否正確; 檢查MySQL從服務(wù)器的日志,查看是否有其他異常信息;
3. 復(fù)制線程停止
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file' Last_SQL_Error: Error executing row event: 'Table 'mydb.mytable' doesn't exist' Slave_IO_Running: Yes Slave_SQL_Running: No
這種情況一般是由于主服務(wù)器無法找到指定的二進(jìn)制日志導(dǎo)致的。可以通過以下步驟解決:
在主服務(wù)器上執(zhí)行以下語句: SHOW MASTER STATUS; 把得到的File和Position數(shù)據(jù)填寫到從服務(wù)器對應(yīng)的記錄中,然后重新啟動Slave。
總之,在使用MySQL5.7主從復(fù)制時,務(wù)必注意各種錯誤,及時解決問題,避免數(shù)據(jù)丟失等情況的出現(xiàn)。