1. 程式人生 > >轉 -- MySQL主從失敗, 錯誤Got fatal error 1236解決方法

轉 -- MySQL主從失敗, 錯誤Got fatal error 1236解決方法

原址如下:

http://ritto.blog.51cto.com/427838/735810


MySQL主從失敗, 錯誤Got fatal error 1236解決方法

由於主伺服器異外重啟, 導致從報錯, 錯誤如下:

show slave status錯誤:

  1. mysql> show slave status\G 
  2. Master_Log_File: mysql-bin.000288 
  3. Read_Master_Log_Pos: 627806304 
  4. Relay_Log_File: mysql-relay-bin.000990 
  5. Relay_Log_Pos: 627806457 
  6. Relay_Master_Log_File: mysql-bin.000288 
  7. Slave_IO_Running: No
  8. Slave_SQL_Running: Yes 
  9. Exec_Master_Log_Pos: 627806304 
  10. Relay_Log_Space: 627806663 
  11. ...... 
  12. Last_IO_Error: Got fatal error 1236 from master when  reading data from binary log: 
  13. 'Client requested master to start  replication from impossible position' 

mysql錯誤日誌:

  1. tail /data/mysql/mysql-error.log 
  2. 111010 17:35:49 [ERROR] Error reading packet from server: Client requested master 
  3.  to start replication from impossible position ( server_errno=1236) 
  4. 111010 17:35:49 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data 
  5. from binary log: 'Client requested master to start replication from impossible 
  6. position', Error_code: 1236 
  7. 111010 17:35:49 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000288'
  8. position 627806304 

按照習慣, 先嚐試必改position位置.

  1. mysql> stop slave; 
  2. mysql> change master to master_log_file='mysql-bin.000288',master_log_pos=627625751; 
  3. mysql> start slave; 

錯誤依舊, 接下來登陸到主伺服器檢視binlog日誌.
先按照錯誤點的標記去主伺服器日誌中查詢:

  1. [[email protected] ~]# mysqlbinlog --start-position=627655136 /data/mysql/binlog/mysql-bin.000288
  2. /*!40019 SET @@session.max_insert_delayed_threads=0*/; 
  3. /*!50003 SET @[email protected]@COMPLETION_TYPE,COMPLETION_TYPE=0*/; 
  4. DELIMITER /*!*/; 
  5. at 4 
  6. #111010 13:31:19 server id 4 end_log_pos 106 Start: binlog v 4, server v 5.1.45-log 
  7. created 111010 13:31:19 
  8. # Warning: this binlog is either in use or was not closed properly. 
  9. BINLOG ' 
  10. F1aTTg8EAAAAZgAAAGoAAAABAAQANS4xLjQ1LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 
  11. AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC 
  12. '/*!*/; 
  13. DELIMITER ; 
  14. Endof log file 
  15. ROLLBACK /* added by mysqlbinlog */; 
  16. /*!50003 SET [email protected]_COMPLETION_TYPE*/; 

沒有看到這個位置.

  1. [[email protected] ~]# mysqlbinlog /data/mysql/binlog/mysql-bin.000288 > test.txt 
  2. less text.txt 
  3. 看最後一部分 
  4. at 627625495 
  5. #111010 16:35:46 server id 1 end_log_pos 627625631 Query thread_id=45613333 
  6. exec_time=32758 error_code=0 
  7. SETTIMESTAMP=1318289746/*!*/; 
  8. deletefrom freeshipping_bef_update where part='AR-4006WLM'and code=''
  9. /*!*/; 
  10. at 627625631 
  11. #111010 16:35:46 server id 1 end_log_pos 627625751 Query thread_id=45613333 
  12. exec_time=32758 error_code=0 
  13. SETTIMESTAMP=1318289746/*!*/; 
  14. deletefrom shippingFee_special where part='AR-4006WLM'
  15. /*!*/; 
  16. DELIMITER ; 
  17. Endof log file 
  18. ROLLBACK /* added by mysqlbinlog */; 
  19. /*!50003 SET [email protected]_COMPLETION_TYPE*/; 

找到最接近錯誤標記627655136的一個position是627625631.

再回到slave機器上change master, 將postion指向這個位置.
 

  1. mysql> stop slave; 
  2. Query OK, 0 rows affected (0.00 sec) 
  3. mysql> change master to master_log_file='mysql-bin.000288',master_log_pos=627625631; 
  4. Query OK, 0 rows affected (0.06 sec) 
  5. mysql> start slave; 
  6. Query OK, 0 rows affected (0.00 sec) 

再次檢視:

  1. mysql> show slave status\G 
  2. *************************** 1. row *************************** 
  3. Slave_IO_State: Queueing master event to the relay log 
  4. Master_Host: 192.168.21.105 
  5. Master_User: rep 
  6. Master_Port: 3306 
  7. Connect_Retry: 10 
  8. Master_Log_File: mysql-bin.000289 
  9. Read_Master_Log_Pos: 25433767 
  10. Relay_Log_File: mysql-relay-bin.000003 
  11. Relay_Log_Pos: 630 
  12. Relay_Master_Log_File: mysql-bin.000289 
  13. Slave_IO_Running: Yes 
  14. Slave_SQL_Running: Yes 

主從同步正常了, 同樣的方法修復其它slave機器.


相關推薦

-- MySQL主從失敗, 錯誤Got fatal error 1236解決方法

原址如下: http://ritto.blog.51cto.com/427838/735810 MySQL主從失敗, 錯誤Got fatal error 1236解決方法 由於主伺服器異外重啟, 導致從報錯, 錯誤如下: show slave status錯誤: m

MySQL主從失敗錯誤Got fatal error 1236

日誌文件 quest rem ids commit max second posit comm 一、問題原因及報錯誤信息 由於MySQL主庫意外重啟,導致從庫無法同步報錯如下: 登錄從庫查看主從同步的錯誤信息[root@192-168-7-101 mysql]# vim

mysql主從同步報錯 Got fatal error 1236 from master when reading data from binary log

突然發現從庫不同步主庫了 ,不知道是什麼原因   來不及分析  只能先恢復 報錯;Got fatal error 1236 from master when reading data from binary log 剛開始怎麼的執行set global sql_slave

MySQL 的一次錯誤處理 Got fatal error 1236 from master when reading data from binary log

本地MySQL環境,是兩臺MySQL做M-M複製。今天發現錯誤資訊: mysql 5.5.28-log> show slave status\G *************************** 1. row **************************

027_【重要#集群恢復步驟】MySQL Group Replication Got fatal error 1236 - CrazyPig的技術博客 - CSDN博客

property you 部分 raphael 提示信息 itl blank 執行 nbsp MySQL Group Replication Got fatal error 12362017年03月13日 14:30:03ZzzCrazyPig閱讀數:2227

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log

在做最後一個MySQL NBU備份的時候,發現從庫有問題,好奇的是怎麼主從狀態異常沒有告警呢?先不管這麼多了,處理了這個問題再完善告警內容。 一、錯誤資訊 從庫show slave status \G看到的錯誤資訊如下: Slave_IO_Running: NoSlave_SQL_Running: Ye

MySQL主從:slave status顯示connecting狀態解決方法

MySQL主從錯誤信息Slave_IO_Running: Connecting mysql> show slave status\G Slave_IO_Running: Connecting Slave_SQL_Running: Yes 此處一般是兩個yes才是正確,出現Slave_IO_Runnin

Navicat for mysql 連線遠端資料庫 出現SQL Error (2013): 解決方法

網上看到搜了很多方法,都沒有成功解決問題,但是無意間看到一條回覆!我好像明白了什麼!!上圖!!此處我選擇的是常規和SSH配合連線注:SSH是用來連線伺服器  而常規中的連線是用來連線伺服器中的mysql (此處二者的密碼是不一樣  看個人當時設定的時候是什麼  我的用來遠端連

ADS錯誤Fatal)L6002U解決方法

ADS編譯錯誤: Fatal L6002U:Could not open file:.....解決辦法 使用ADS1.2編譯檔案時,出現錯誤報告Error:(Fatal) L6002U:could not open file E:100611.0,折騰了半天都沒頭緒,後

關於unbuntu 安裝APP失敗 錯誤400的不完整解決方法

最近在玩弄ubuntu系統,總是避免不了下載各式各樣的軟體,而最近在下載一個軟體的時候,手賤點了一下取消 出現了 Snapd returned status code 400 : Bad Request 完全一臉懵逼 我試了好幾種方法,以下方法不一定都能成功,我只是作

mysql 安裝錯誤Fatal error: Can't open and lock privilege tables

在windows上安裝mysql綠色版出現錯誤  Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist       然後研究發現是因為表沒有初始化,預設暗

mysql 安裝錯誤FATAL ERROR: Neither host '* nor 'localhost' could be looked up with /usr/bin/resolveip

1、採用命令 mysql_install_db –user=mysql 安裝時報錯 $ sudo ./scripts/mysql_install_db –user=mysql FATAL ERROR: Neither host ‘liminpc’ nor ‘

VS2010錯誤“LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞”解決辦法

問題: 作業系統Win7 64位,已安裝Visual Studio 2013,可以順利編譯生成專案。 因和其他同事同時開發一個專案,為了編譯環境完全相同,需要安裝Visual Studio 2010,安裝完成後編譯專案,提示錯誤資訊: LINK : fatal error

mysql啟動失敗 錯誤提示error 2002

這大概是一個常見的問題,不過解決起來比較容易。首先你要檢視自己有沒有安裝mysql-server。 #yum install mysql-server -y 之後再嘗試啟動mysql daemon

mysql主從同步錯誤,提示The server quit without updating PID file

在安裝完lnmp後,啟動mysqld失敗,提示 [[email protected] ~]# service mysqld start Starting MySQL [確定][[email protected] ~]# service mysqld restartMySQL server

mysql主從同步錯誤恢復

      Mysql主從同步叢集在生成環境使用過程中,如果主從伺服器之間網路通訊條件差或者資料庫資料量非常大,容易導致MYSQL主從同步延遲。       MYSQL主從產生延遲之後,一旦主庫宕機,會導致部分資料沒有及時同步至叢庫,重新啟動主庫,

linux 系統中系統關機後,mysql啟動失敗報錯:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '

自己在阿里雲伺服器上安裝好執行環境後,mysql都是正常使用的,昨天強制關閉伺服器後,重新啟動伺服器,發現數據庫無法啟動報錯:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/va

錯誤fatal error C1083: 無法開啟預編譯標頭檔案:“Debug/DistanceMeasure.pch”: No such file or directory

錯誤:fatal error C1083: 無法開啟預編譯標頭檔案:“Debug/DistanceMeasure.pch”: No such file or  directory  這種錯誤是不存在預編譯的.pch檔案,即沒有建立。 網上各種方法都是不使用預編譯,其實這樣

mysql啟動失敗錯誤mysqld.service holdoff time over, scheduling restart.

由於搭建主從分散式mysql環境,在搭建前,對之前的mysql殘留環境徹底清除。清除命令如下: #yum remove mysql* mariadb* -y            #rm /etc/my.cnf                           #rm

關於mysql 主從同步錯誤解決方法

  在主庫上執行  show slave status\G;  Slave_IO_Running: No Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: '