Loading...
MySQL 开启 binlog日志记录

程序员笔记 2015/03/30 MySQL

由于没有及时开启binlog记录,一个数据库误操作导致数据丢失不可恢复,现在肠子都悔青了了,丢失了好多数据。


下面将MySql怎么开启binlog日志记录以及怎样恢复的操作记录如下:


  1、查看mysql是否有binlog日志来判断是否有开启,或者通过show variables like 'log_%';查看

     show binlog events;

     

     说明没有开启

  2、开启binlog

    在D:\Program Files\MySQL\MySQL Server 5.5\my.ini(我的Window下路径,Linux下是/etc/my.cnf)配置文件里面的

    [mysqld]

    新增加如下一行

    log-bin=D:\ProgramData\MySQL\mysql-bin(名字可以随便起)

  3、检查是否开启

    show binlog events;

    

    说明已经开启


   4、查看binlog的名称

    show binary logs;

    


   5、用mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复

     导出全部:

     mysqlbinlog  D:\ProgramData\MySQL\mysql-bin.000001 > D:/binlog.txt;

     导出部分:

     mysqlbinlog --start-position=4 --stop-position=791 D:\ProgramData\MySQL\mysql-bin.000001 > D:/binlog.txt;


   6、导入结果到MYSQL中进行数据恢复

     mysqlbinlog --start-position=134 --stop-position=330 D:\ProgramData\MySQL\mysql-bin.000001 | mysql -uroot -p


     或者

     mysqlbinlog --start-position=759 --stop-position=1173 D:\ProgramData\MySQL\mysql-bin.000001 >D:/binlog1.txt;


     进入MYSQL导入

     mysql> source D:/binlog1.txt;


     还有一种办法是根据日期来恢复

    mysqlbinlog --start-datetime="2014-12-30 11:49:39" --stop-datetim="2014-12-30 11:49:56" D:\ProgramData\MySQL\

    mysql-bin.000001 | mysql -u root -p



     

    

   



Comments