2013-10-18 17 views
0

任何人都可以請告訴我如何我可以恢復MySQL數據庫提前一天,因爲在腳本中發生了一些錯誤,並且特定參數的所有colums之一受到影響請幫助,服務器版本:5.0.85日誌 MySQL客戶端版本:5.2.10-MariaDB的 PHP擴展:mysqli的如何恢復mysql db前一天

+2

你有前一天的備份嗎? – Ibu

+0

不,我不是這個問題,如果我有我可以恢復它現在我在大麻煩plz幫助我任何其他方式 – shijumax

+2

這可能會得到更好的答案在http://dba.stackexchange.com ...雖然坦率地說,如果你沒有備份或事務日誌,我懷疑你自己來糾正數據。 –

回答

0

回到以前的MariaDB的備份,然後從二進制日誌刷新,直到其中的錯誤發生的點。如果二進制日誌未處於活動狀態,或者根本沒有備份,則表明您是獨立的!

首先,從最新的轉儲文件加載:

mysql -u root -p < dump_file 

接下來,查看在轉儲文件找到二進制日誌座標,並重新執行該事件,直到您需要的點。

然後,查看二進制日誌(使用mysqlbinlog)來查看發生錯誤的位置。這是停止的要點。

例如,如果在轉儲文件中的座標如下:

-- CHANGE MASTER TO MASTER_LOG_FILE='binlog.002003', MASTER_LOG_POS=96456; 

和點停止在104342(這是第一個無效的命令)

然後你會需要運行下面的命令來恢復:

mysqlbinlog --start-position=96456 --stop-position=104342 binlog.002003 | mysql -u root -p 

您可能還需要超過一個二進制日誌運行 - 看到https://mariadb.com/kb/en/mysqlbinlog/更多mysqlbinlog可以用法和語法的詳細信息。

+0

mysql!= mariadb。準確地說mariadb> = mysql –