mysqlbinlog 管理工具

mysql开启日志

log-bin=mysqlbin-log #添加这一行就ok了=号后面的名字自己定义吧 

expire-logs-days=7   ##只保持7天的日志

binlog_format=mixed ##压缩格式化


然后我们可以对数据库做简单的操作后到mysql数据文件所在的目录来看binlog文件。

2. 查看自己的BINLOG的名字是什么

命令:show binary logs



 

 以后每次对表的相关操作时候,这个File_size/Position都会增大。

 

2.删除bin-log(删除mysql-bin.000003之前的而没有包含mysql-bin.000003)
mysql> purge binary logs to ‘ablelee.000003′;
 mysql> flush logs; ######刷新日志

mysql>reset master ;#########日志全部清空重置!

3. 做了几次操作后,它就记录了下来。

命令:show binlog events\G;

show binlog events in 'mysql-bin.000011' \G;


mysqlbinlog 管理工具_第1张图片


 

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

详细过程如下:
/usr/local/mysql/bin/mysqlbinlog --start-position=4 --stop-position=106 mysqlbin-log.000001 > /home/1.txt 

或者全部导出:

/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/var/mysql-bin.000001 > 1.txt 

从1.txt日志文件可看出bin-log并不记录select语句 


 

5. 导入结果到MYSQL中进行数据恢复。

/usr/local/mysql/bin/mysqlbinlog --start-position=134 --stop-position=330 /usr/local/mysql/var/mysql-bin.000001| mysql -uroot -p1

 

或者

/usr/local/mysql/bin/mysqlbinlog --start-position=134 --stop-position=330 /usr/local/mysql/var/mysql-bin.000001 >/home/1.txt

进入MYSQL导入

mysql> source /home/1.txt 

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

/usr/local/mysql/bin/mysqlbinlog --start-datetime="2009-09-14 0:20:00" --stop-datetim="2009-09-15 01:25:00"  /usr/local/mysql/var/mysql-bin.000001| mysql -u root -p1

 

6、查看数据

Select * from User


你可能感兴趣的:(mysql,server,query,insert,events)