mysql开启日志
log-bin=mysqlbin-log #添加这一行就ok了=号后面的名字自己定义吧
expire-logs-days=7 ##只保持7天的日志
binlog_format=mixed ##压缩格式化
然后我们可以对数据库做简单的操作后到mysql数据文件所在的目录来看binlog文件。
2. 查看自己的BINLOG的名字是什么
命令:show binary logs
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;
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