Last_IO_Error:errorconnectingtomaster'tl@192.168.199.151:3306'

白及88發表於2016-03-09

環境:

centoos 6.5  主從

mysql 5.6.12

主: 192.168.199.11

從:192.168.199.12

主從切換

把 12 變為主,從為11 

結果報錯:

Last_IO_Error: error connecting to master `tl@192.168.199.151:3306`

11 從機上看到的:

剛配置的MySQL主從,在從機上看到

點選(此處)摺疊或開啟

  1. mysql> SHOW slave STATUS \G
  2. *************************** 1. row ***************************
  3.                Slave_IO_State: Connecting to master
  4.                   Master_Host: 172.17.210.199
  5.                   Master_User: my
  6.                   Master_Port: 3306
  7.                 Connect_Retry: 60
  8.               Master_Log_File: masters-bin.000003
  9.           Read_Master_Log_Pos: 1224
  10.                Relay_Log_File: testmysql-relay-bin.000001
  11.                 Relay_Log_Pos: 4
  12.         Relay_Master_Log_File: masters-bin.000003
  13.              Slave_IO_Running: Connecting
  14.             Slave_SQL_Running: NO
  15.               Replicate_Do_DB: 
  16.           Replicate_Ignore_DB:

看日誌有很多:

點選(此處)摺疊或開啟

  1. 141010 0:02:48 [ERROR] Slave I/O:
    error connecting to master `my@172.17.210.199:3306` – retry-time: 60
    retries: 1, Error_code: 2003
  2. 141010 0:03:48 [ERROR] Slave I/O: error connecting to master
    `my@172.17.210.199:3306` – retry-time: 60 retries: 2, Error_code:
    2003
  3. 141010 0:04:48 [ERROR] Slave I/O: error connecting to master
    `my@172.17.210.199:3306` – retry-time: 60 retries: 3, Error_code:
    2003
  4. 141010 0:05:48 [ERROR] Slave I/O: error connecting to master
    `my@172.17.210.199:3306` – retry-time: 60 retries: 4, Error_code:
    2003
  5. 141010 0:06:48 [ERROR] Slave I/O: error connecting to master
    `my@172.17.210.199:3306` – retry-time: 60 retries: 5, Error_code:
    2003
  6. 141010 0:07:48 [ERROR] Slave I/O: error connecting to master
    `my@172.17.210.199:3306` – retry-time: 60 retries: 6, Error_code:
    2003
  1. 解決方法:  
  2.   
  3. 導致lave_IO_Running 為connecting 的原因主要有以下 3 個方面:  
  4.   
  5. 1、網路不通  
  6. 2、密碼不對  
  7. 3、pos不對
  8. 解決步驟:
  9. 1、對於第一個問題,一般情況下都是可以排除的,也是最容易排除的。
  10. 2、在主庫上修改用來複制的使用者的密碼。
  11. 3、 在做chang to 的時候注意log_pos 是否跟此時主機的一樣。在主機上 show master status G ;可以檢視到

主機上:

mysql> show master status G;
*************************** 1. row ***************************
             File: masters-bin.000003
         Position: 2392
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 
1 row in set (0.00 sec)

ERROR: 
No query specified

11上執行:

stop slave
從機上面執行change to 的正確
CHANGE MASTER TO 
MASTER_HOST=`192.168.199.12`, 
MASTER_USER=`my`, 
MASTER_PASSWORD=`123456`, 
MASTER_LOG_FILE=`masters-bin.000003`, 
MASTER_LOG_POS= 2392;


01  start  slave 

show slave status;

需要注意的幾個問題:

要在change master to語句的master_password部分使用原始的密碼而非雜湊過的密碼。

注意在第一時間檢視錯誤日誌檔案,可使用perror工具根據錯誤程式碼檢視具體的錯誤。

另外幾個常見問題:

mysql無法啟動:先看錯誤日誌檔案中提示的錯誤,依據錯誤找原因;檢視配置檔案中資料目錄等配置是否正確;檢查MySQL相關目錄屬主和屬組是否正確;檢視是否有之前未被正確關閉的mysqld程式仍在執行。

mysql無法連線:先看mysqld程式是否正確啟動了;再看提供的連線串是否爭取無誤。

參考:

http://blog.itpub.net/27099995/viewspace-1294075/