操作命令:
show master logs; 或者 show binary logs; 查看二進制文件列表和文件大小
2. 要想通過日志恢復數據庫,在你的 my.cnf 文件里應該有如下的定義,log-bin=mysql-bin,這個是必須的
binlog-do-db=db_test ,這個是指定哪些數據庫需要日志,每行一個,如果不指定的話默認就是所有數據庫.
3.刪除二進制日志:
4.下面就是恢復操作了
特別提示,mysql每次啟動都會重新生成一個類似 mysql-bin.000003 的文件,如果你的mysql每天都要重新啟動一次的話,這時候你就要特別注意不要選錯日志文件了。
技巧1:
你可以通過–one-database 參數選擇性的恢復單個數據庫,example在下面,爽吧。
mysqlbinlog –stop-date="2005-04-20 9:59:59" /var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd –one-database db_test
技巧2:
如果已經使用過
/usr/local/mysql5/bin/mysqlbinlog –start-date="005-04-20 9:55:00" /var/data/mysql5/mysql-bin.0* > /home/db/tt.sql 類似的語句將日志導成了ASCII文本文件,那么你就可以直接在phpmyadmin里執行這個文件,因為它本身就是一個標準的sql文件,比如想讓文件里面的某些語句不執行,找到它們刪除即可,然后再放進去執行。
技巧3:
mysqlbinlog –stop-date="2005-04-20 9:59:59" /var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd –one-database db_test
這是把mysql-bin.000001這個二進制文件里的內容轉換成ASCII文件(也就是sql語句),直接通過管道操作符 | 傳輸給 mysql這個程序,然后過濾掉其它數據庫的語句,只在db_test里執行。
要想確定當前的二進制日志文件的文件名,輸入下面的MySQL語句:
1. 指定恢復時間
新聞熱點
疑難解答