好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 記一次MySQL Slave庫恢復實戰記錄

記一次MySQL Slave庫恢復實戰記錄

熱門標簽:百度地圖標注要什么軟件 自己做地圖標注需要些什么 400電話申請廠家現貨 徐涇鎮騰訊地圖標注 中國地圖標注公司 電話機器人的價格多少錢一個月 天津公司外呼系統軟件 福建外呼電銷機器人加盟 昌德訊外呼系統

狀況描述:

今天登錄一個MySQL數據庫slave節點主機發現/var/lib/mysql下存放大量的mysql-relay-bin文件,最早的文件創建日期甚至是2018年,我記得在slave庫同步完master的日志操作記錄后,會刪除這些文件(默認設置不會刪除,我記錯了),于是便查看了slave庫的狀態,發現如下報錯:

mysql> show slave status\G;
*************************** 1. row ***************************
        Slave_IO_State: Waiting for master to send event
         Master_Host: *.*.*.*
         Master_User: dbsync
         Master_Port: 3306
        Connect_Retry: 60
       Master_Log_File: mysql-bin.000095
     Read_Master_Log_Pos: 869242147
        Relay_Log_File: mysqld-relay-bin.000146
        Relay_Log_Pos: 871280529
    Relay_Master_Log_File: mysql-bin.000075
       Slave_IO_Running: Yes
      Slave_SQL_Running: No
       Replicate_Do_DB: cdb,cdb_admin
     Replicate_Ignore_DB: mysql
      Replicate_Do_Table: 
    Replicate_Ignore_Table: 
   Replicate_Wild_Do_Table: 
 Replicate_Wild_Ignore_Table: 
          Last_Errno: 1594
          Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
         Skip_Counter: 0
     Exec_Master_Log_Pos: 871280384
       Relay_Log_Space: 19994786573
       Until_Condition: None
        Until_Log_File: 
        Until_Log_Pos: 0
      Master_SSL_Allowed: No
      Master_SSL_CA_File: 
      Master_SSL_CA_Path: 
       Master_SSL_Cert: 
      Master_SSL_Cipher: 
        Master_SSL_Key: 
    Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
        Last_IO_Errno: 0
        Last_IO_Error: 
        Last_SQL_Errno: 1594
        Last_SQL_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
1 row in set (0.00 sec)

ERROR: 
No query specified

原因:

我在master節點上刪除了名稱為mysql-bin.00007格式的文件,其中包括mysql-bin.000075,因此,slave庫找不到該文件,無法同步。

解決辦法:

1、在slave庫上重新指定同步位置。(不可行)

slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000095',MASTER_LOG_POS=869242147; //mysql master節點上mysql-bin.000095的已有位置
slave start;

slave節點上show slave status,依然報錯,具體的報錯內容沒有復制下來,只記得errno為1236,Slave_IO_Running進程不運行,Slave_SQL_Running進程運行,大概描述就是某個庫的某個表有問題。

在多次嘗試指定不同的同步位置(報錯的位置,master上mysql-bin-000095剛寫過的位置)依然存在該錯誤。

實際上,表記錄已經有問題,就拿描述中提出的那個表來說,slave庫存放了約1200條記錄,master庫則有1900+的記錄。除非手工將這些數據補上,否則由于記錄操作數據的日志已經丟失(被我刪除),是找不到最近的一致的日志操作執行位置的。

2、重做slave庫。

由于數據差異太大,而且我覺得不光一張表出現了數據不一樣的問題,所以干凈點,把從庫重做。
1)比對master、slave節點庫配置信息,保證一致。(我不知道為什么設置了雙主模式,實際上我只有一個實例跑在master節點上啊?)

2)在master、slave節點上查看流量情況(show processlist),保證要重做的slave庫上沒有業務的流量接入。

3)停止master節點上slave進程。(這個停了以后,我就沒開過,不知道有沒有問題,待觀察)

4)記錄master節點上庫的日志記錄位置,之后備份數據庫:

mysql> show master status;
+------------------+-----------+-------------------------------+------------------+
| File       | Position | Binlog_Do_DB         | Binlog_Ignore_DB |
+------------------+-----------+-------------------------------+------------------+
| mysql-bin.000095 | 871760173 | cdb,cdb_admin | mysql      |
+------------------+-----------+-------------------------------+------------------+
1 row in set (0.01 sec)
 mysqldump -u root -p --databases cdb,cdb_admin > bak.master.sql

5)保險起見,備份slave節點庫:

mysqldump -u root -p --databases cdb,cdb_admin gt; bak.slave.sql

6)重做開始:把master庫備份文件復制到slave節點上,導入該備份文件

mysql -u root -p lt; bak.master.sql

7)在slave節點上,重新指定讀master日志的位置:

slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000095',MASTER_LOG_POS=871760173; //POS為剛才記錄的master節點日志記錄位置
slave start;

8)slave節點上 show slave status;此時Slave_IO_Running,Slave_SQL_Running均運行起來了,刷新slave status,Read_Master_Log_Pos數值也開始增加,重新開始同步了。

總結:

清理文件時,要注意mysql-bin文件在master、slave節點日志讀取和寫的位置啊!,刪之前一定要確認日志位置在master和slave斷已被讀過,不要亂刪,否則搞得slave庫無法同步了,就算在slave節點上強行指定master日志讀取位置或者跳過該錯誤,也不排除slave庫上數據丟失的可能。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • mysql同步問題之Slave延遲很大優化方法
  • 解決MySQL中的Slave延遲問題的基本教程
  • MySQL中slave監控的延遲情況分析
  • mysql 主從數據不一致,提示: Slave_SQL_Running: No 的解決方法
  • Mysql主從數據庫(Master/Slave)同步配置與常見錯誤
  • MySQL中slave_exec_mode參數詳解
  • MySQL5.6 數據庫主從同步安裝與配置詳解(Master/Slave)
  • MySQL Slave 觸發 oom-killer解決方法
  • MySQL slave 延遲一列 外鍵檢查和自增加鎖

標簽:鄂爾多斯 昌都 黔西 北京 荊門 陜西 駐馬店 梅河口

巨人網絡通訊聲明:本文標題《記一次MySQL Slave庫恢復實戰記錄》,本文關鍵詞  記,一次,MySQL,Slave,庫,恢復,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《記一次MySQL Slave庫恢復實戰記錄》相關的同類信息!
  • 本頁收集關于記一次MySQL Slave庫恢復實戰記錄的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 北条麻妃一区二区三区美女毛多多| 国产freesexvideos中国麻豆| 葵司趁夫洗澡30分钟1080P | 年轻的小婊2韩剧| 亚洲厕所偷拍视频| 美女扒开尿口直播| 蜜芽国产AV尤物尤物在线下载| 残暴瑜伽| 国产中文字幕在线播放| 曰批全过程免费视频观看软件| 一级婬片A片AAA片动漫| 又爽又黄又紧的免费视频| 出轨同学会在线观看| 国产精品a一级毛片999444| 被迫人妻HD中字| 9420高清完整版视频在线观看视频 | 久久精品水蜜桃AV综合天堂| 免费人成又黄又爽的视频强| 欧美第一区| 无码特级A片毛片特黄 | xxxxd69日本护士69| 亚洲欧美激情另类校园| 亚洲乱码一区二区三区| 骚受嗯用力插啊| 两根巨物一起三p| 夫の目の前侵犯入侵者は| 美女BB又爽又猛又黄www| 姑娘韩国在线观看免费| 暗交小拗女一区二区三区| 激情叫床| 国产九九免费视频| 国产免费久久| 台湾伦理七仙女思春2| www成人??色情美女流水| 中文无码日韩精品影片| 催眠放荡美腿丝袜老师| 印度毛茸茸bbbbb| 好大好硬好深好爽想要影院| 成人免费草草视频| 将军紫黑色硕大进出腿间| 丰满乳亲伦小说|