mysql bin日志备份_mysql之binlog日志备份还原
實例:
在mysql有時執行了錯誤的update或者delete時導致大量數據錯誤恢復的辦法。執行時沒有開啟事務,也沒有對數據進行。這時就需要使用到sqlbinlog工具。
sqlbinlog需要開啟,具體的打開方法就不說了。
使用sqlbinlog會產生bin文件,恢復就需要用到這些文件。文件中記錄著數據庫的所有操作。(此方法的操作是將數據庫之前所執行的語句重新執行一次,以達到恢復效果)
具體步驟:(注:mysqlbinlog 命令直接在cmd控制臺xxbin.000001文件路徑下操作,不要進mysql)
1,先找到bin文件,一般都是在mysql的data文件夾中,結尾以.00000X等形式結束。
2,尋找需要還原的時間點 使用語句 ? ? mysqlbinlog ?文件名 ? ? ?例(MySQLbinlog xxbin.000001)來查看內容,然后找到對應的具體時間
3,導出sql語句,使用語句 ? ? ?mysqlbinlog 文件名>sql文件路徑 ? ?例(mysqlbinlog xxxbin,00001>a.sql ?| mysql -u root -p?)
如果需要指定時間導出--start--date -stop='' ?--date='' 來導出指定時間執行的語句例(sqlbinlog --start-stop='2015-11-22 10:00:00' ? xxbin.000001>a.sql ?| mysql -u root -p )這句意思是導出在2015-11-22 10點之前的語句,反之start是導出時間之后的。 ?start和stop可以同時使用。
如果存在多個bin文件,則按照需要導出。
4,使用mysql將導出的語句執行一次。
其它:
1、還有個sql_log
mysql> show variables like 'sql_log_%';
Mysql開啟關閉sql二進制日志:
mysql> set sql_log_bin=0; //關閉
set session sql_log_bin=0;
2、查找文件位置:
find / -name my.cnf
3、linux 查看當前所在目錄的全路徑
pwd命令:
/var/lib/mysql
4、查看當前binary log的情況:
mysql>show master status;
5、在my.cnf/my.ini中設定binary logs回滾天數:
expire_logs_days = 7
6、查看Master的bin log日志
mysql> show master logs;+-----------------+-----------+| Log_name ? ? ? ?| File_size |+-----------------+-----------+| mysql-bin.000001 | ? ? ? ?98 |?+-----------------+-----------+1 row in set (0.00 sec)
總結
以上是生活随笔為你收集整理的mysql bin日志备份_mysql之binlog日志备份还原的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: erlang mysql driver_
- 下一篇: MYSQL二级表的管理_MySQL库和表