windows下mysqlbinlog二進制恢復


Mysql數據恢復主要針對Windows游戲引擎服務器意外宕機,以及游戲出現重大BUG,導致需要回檔。

注意:請在恢復數據庫之前,備份目標數據庫,切記!

一、Windows服務器意外DOWN機,數據庫恢復操作流程:

1、數據庫恢復之前,必須通知聯運平台,提前出維護公告,恢復時間根據目錄數據庫的數量,來決定恢復時間,一般約2個小時。

2、確定需恢復的目標游戲服游戲引擎為關閉狀態,記錄目錄服宕機時間。例如:2011-09-29 14:09:27 請查看系統事件查看器獲得正確的異常關機時間

注意:當服務器出問題的時間與重啟服務器的時間不一致時,數據恢復的時間應按照短信報警的時間(5分鍾延遲)來確定。

3、關閉mysql服務,在服務器上操作前先關閉二進制日志,my.ini中將expire_logs_days=5和log-bin這兩行進行注釋,注釋后重啟mysql服務,待恢復完畢后再開啟

4、刪除目標數據庫(刪除之前確認數據已備份)

5、登陸數據庫,創建目標數據庫,相關root權限,請找項目組長。 

6、從本地服務器備份目錄取當天早上5:00的備份目標數據庫sql包,解壓后,並導入對應的目標數據庫.

7、以上操作,數據庫將還原到早上5:00點,取今天5點至故障時候相關聯的二進制日志文件,修改日期表示這個二進制文件生成的結束時間。

使用命令進行二進制日志還原,注意以下還原是針對所有數據庫進行二進制恢復。

 

提示:如果logbin文件只有一個,數據恢復的sql語句應指明開始 和 結束時間。如:

8、如果只需要恢復一個數據庫,必須要指定數據庫,否則將對全服的數據庫進行操作。如

  D:\>mysqlbinlog  -d cq_actor1 --stop-datetime="2013-10-27 19:00:00"  "D:\Program Files\MySQL\MySQL Server 5.0\data\mysql-bin.000244"   | mysql -uroot -p  

9、至此恢復完畢,關閉mysql,取消login注釋,開啟DBengine和游戲引擎即可。

10、游戲測試,提前與對方平台運營溝通,測試游戲,確保游戲沒有問題,在開游戲入口。

二、游戲出現BUG,需要回檔處理,數據庫恢復操作流程:

1、游戲出現bug,需要對目標服務器的某一個數據庫進行回檔操作,操作之前,需要與運營溝通維護時間。

2、關閉目標服游戲引擎、網關、數據服務。 

3、備份目標數據庫.

4、通過項目組長刪除目標數據庫,並重設root密碼.

5、新建目標數據庫,並導入本地服務器備份目標sql

6、通過分析二進制文件,確定恢復的開始時間與結束時間。

7、數據恢復完成后,開啟游戲相關程序,並做測試。

8、測試完成后,確保沒有問題,通知對方平台開啟入口。

附:mysqlbinlog命令和參數的說明:

?--start-pos=N  //從二進制日志中第1個位置等於N參量時的事件開始讀。

?--stop-pos=N   //從二進制日志中第1個位置等於和大於N參量時的事件起停止讀。

--start-datetime 上面同理 只是使用日期來恢復

格式:mysqlbinlog 日志文件 參數 | mysql -u用戶名 -p密碼

mysqlbinlog liangck.000001 | mysql -uroot –p123456  表示 全部恢復

mysqlbinlog liangck.000002 --start-pos=417 --stop-pos=773 | mysql -uroot -p123456 表示 從417至773位置

mysqlbinlog liangck.000002 --stop-pos=773 | mysql -uroot -p123456  表示 從頭至773位置

mysqlbinlog liangck.000002 --start-pos=417 | mysql -uroot -p123456 表示 從417至尾 位置 

mysqlbinlog liangck.000002 --start-datetime="2004-12-25 11:25:56"  | mysql -uroot -p123456 日期參數和pos同理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM