溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

slave的中繼日志relay-log損壞

發(fā)布時間:2020-08-05 10:38:06 來源:ITPUB博客 閱讀:319 作者:StevenBeijing 欄目:MySQL數(shù)據(jù)庫
  當slave意外宕機時,有可能會損壞中繼日志relay-log,再次開啟同步復制時,會出現(xiàn)報錯。
  解決方法:找到同步的binlog日志和POS點,然后重新進行同步,這樣就可以有新的中繼日志了。
  下邊看個案例,模擬了中繼日志損壞的情況,查看到的信息如下:

點擊(此處)折疊或打開

  1. mysql> show slave status \G
  2. ERROR 2006 (HY000): MySQL server has gone away
  3. No connection. Trying to reconnect...
  4. Connection id: 4
  5. Current database: test

  6. *************************** 1. row ***************************
  7.                Slave_IO_State: Waiting for master to send event
  8.                   Master_Host: 10.10.10.200
  9.                   Master_User: repl
  10.                   Master_Port: 3306
  11.                 Connect_Retry: 60
  12.               Master_Log_File: mysql-bin.000005
  13.           Read_Master_Log_Pos: 220
  14.                Relay_Log_File: mysql-relay-bin.000010
  15.                 Relay_Log_Pos: 283
  16.         Relay_Master_Log_File: mysql-bin.000004
  17.              Slave_IO_Running: Yes
  18.             Slave_SQL_Running: No
  19.               Replicate_Do_DB:
  20.           Replicate_Ignore_DB:
  21.            Replicate_Do_Table:
  22.        Replicate_Ignore_Table:
  23.       Replicate_Wild_Do_Table:
  24.   Replicate_Wild_Ignore_Table:
  25.                    Last_Errno: 1032
  26.                    Last_Error: Could not execute Update_rows event on table test.test01; Can't find record in 'test01', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log mysql-bin.000004, end_log_pos 310
  27.                  Skip_Counter: 0
  28.           Exec_Master_Log_Pos: 120
  29.               Relay_Log_Space: 2251
  30.               Until_Condition: None
  31.                Until_Log_File:
  32.                 Until_Log_Pos: 0
  33.            Master_SSL_Allowed: No
  34.            Master_SSL_CA_File:
  35.            Master_SSL_CA_Path:
  36.               Master_SSL_Cert:
  37.             Master_SSL_Cipher:
  38.                Master_SSL_Key:
  39.         Seconds_Behind_Master: NULL
  40. Master_SSL_Verify_Server_Cert: No
  41.                 Last_IO_Errno: 0
  42.                 Last_IO_Error:
  43.                Last_SQL_Errno: 1032
  44.                Last_SQL_Error: Could not execute Update_rows event on table test.test01; Can't find record in 'test01', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log mysql-bin.000004, end_log_pos 310
  45.   Replicate_Ignore_Server_Ids:
  46.              Master_Server_Id: 1
  47.                   Master_UUID: 4adfcd1d-4059-11e7-9532-080027d597f9
  48.              Master_Info_File: mysql.slave_master_info
  49.                     SQL_Delay: 0
  50.           SQL_Remaining_Delay: NULL
  51.       Slave_SQL_Running_State:
  52.            Master_Retry_Count: 86400
  53.                   Master_Bind:
  54.       Last_IO_Error_Timestamp:
  55.      Last_SQL_Error_Timestamp: 170808 11:45:26
  56.                Master_SSL_Crl:
  57.            Master_SSL_Crlpath:
  58.            Retrieved_Gtid_Set:
  59.             Executed_Gtid_Set:
  60.                 Auto_Position: 0
  其中,涉及幾個重要的參數(shù):
slave_IO_Running:接受master的binlog的信息
master_Log_file:正在讀取master上binlog日志名
Read_master_Log_Pos:正在讀取master上當前binlog日志POS點。
slave_SQL_Running:執(zhí)行寫操作
Relay_master_Log_File:正在同步master上的binlog日志名。
Exec_master_Log_Pos:正在同步當前binlog日志的POS點。
 以Relay_master_Log_File參數(shù)值和Exec_master_Log_Pos參數(shù)值為基準。
Relay_Log_File: mysql-relay-bin.000010
Relay_Log_Pos: 283
  接下來開始重置主從復制:

點擊(此處)折疊或打開

  1. mysql> stop slave;
  2. Query OK, 0 rows affected (0.04 sec)

  3. mysql> change master to master_log_file='mysql-relay-bin.000010',master_log_pos=283;
  4. Query OK, 0 rows affected (0.06 sec)

  5. mysql> start slave;
  6. Query OK, 0 rows affected (0.12 sec)
  通過這種方法可以修復中繼日志,但是在MySQL5.5版本之后,在slave的my.cnf配置文件中加入relay_log_recovery=1就可以了。

向AI問一下細節(jié)
推薦閱讀:
  1. DHCP中繼原理
  2. DHCP中繼

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI