相关的参数
show varibles ‘%log%';
| expire_logs_days | 0 |
这个默认是0,也就是logs不过期,这个是一个global的参数,所以需要执行
set global expire_logs_days=10; 这个值可以参考你的相邻两个binlog文件的日期。
mysql> show variables like 'log_%';
查看二进制日志里的操作记录
mysql> show binlog events;
show master status
查看当前正在使用的binlog日志
1.登录系统,/usr/bin/mysql
使用mysql查看日志
mysql> show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000001 | 150462942 |
| ablelee.000002 | 120332942 |
| ablelee.000003 | 141462942 |
+—————-+———–+
2.删除bin-log(删除ablelee.000003之前的而没有包含ablelee.000003)
mysql> purge binary logs to ‘ablelee.000003′;
Query OK, 0 rows affected (0.16 sec)
3. 查询结果(现在只有一条记录了.)
mysql> show binlog events\G
*************************** 1. row ***************************
Log_name: ablelee.000003
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 106
Info: Server ver: 5.1.26-rc-log, Binlog ver: 4
1 row in set (0.01 sec)
(ablelee.000001和ablelee.000002已被删除)
mysql> show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| ablelee.000003 | 106 |
+—————-+———–+
1 row in set (0.00 sec)
(删除的其它格式运用!)
如果你直接到binlog目录,使用rm -rf删除了日志,使用show binary logs;依旧可以看到文件,只是大小变为了0
导入结果到MYSQL中进行数据恢复。
mysqlbinlog --start-position=134 --stop-position=330 mysqlbin-log.000001 | mysql -uroot -p