檢視二進制日志功能是否打開:show variables like '%bin%';如果log-bin顯示off就是沒打開,沒打開的話就在/etc/my.cnf中的[mysqld]下添加log-bin=mysql-bin(其中mysql-bin是日志檔案開頭名稱,可以自定義)
mysql誤删資料檔案,
第一種方法:這種方式需要二進制檔案内容很全,如果二進制檔案裡面沒有建表語句,drop的那個表你也就無法恢複
檢視正在使用的是哪個二進制檔案:show master status;看到是mysql-bin.000002
備份:mysqlbinlog mysql-bin.000002 > test1.sql
修改掉敏感資料:例如drop database xx
恢複:mysql < test1.sql
第二種方法:
第一步,檢視目前正在使用的二進制日志檔案的名字是什麼:show master status;
檢視目前一共有多少二進制日志檔案以及他們的大小: show master logs;
第二:看日志檔案的指令,主要看日志檔案裡有什麼sql語句,找出時間點進行下面的恢複操作:/usr/local/mysql/bin/mysqlbinlog mysql-bin.000091 | less
兩種從二進制日志檔案恢複方式:一個是按照時間:/usr/local/mysql/bin/mysqlbinlog --start-datetime '2017-02-14 0:12:59' --stop-datetime '2017-02-14 0:13:31' mysql-bin.000091 | mysql -uroot -proot 時間要看的準
<a href="https://s5.51cto.com/wyfs02/M01/8F/6F/wKioL1jeHLewg0CEAAB7UE4nPSQ331.png-wh_500x0-wm_3-wmp_4-s_2206202868.png" target="_blank"></a>
上圖中的create table c2的開始時間是2017-02-14 0:12:59 ,停止時間是: 2017-02-14 0:13:31
第二個 上圖的at xxx,xxx是大小,看大小:/usr/local/mysql/bin/mysqlbinlog --start-position=361 --stop-position=574 mysql-bin.000091 | mysql -uroot -proot
本文轉自飛奔的小GUI部落格51CTO部落格,原文連結http://blog.51cto.com/9237101/1912158如需轉載請自行聯系原作者
ziwenzhou