删除
PURGE {MASTER | BINARY} LOGS TO 'binlog-name';
删除 binlog-name 编号之前所有的日志.
PURGE {MASTER | BINARY} LOGS BEFORE 'date';
除当前使用日志外, 如果其他日志最后更新时间是小于 date, 则会被删除.
mysql> PURGE MASTER LOGS TO 'mysql-bin.000003';
Query OK, 0 rows affected (0.01 sec)
删除 000003 之前所有的日志(000003 不会被删除).
mysql> PURGE MASTER LOGS BEFORE '2011-03-25 23:59:59'; |
Query OK, 0 rows affected (0.05 sec)
清空二进制日志
mysql> RESET MASTER
该命令会删除之前所有的 binlog, 并重新生成新的 binlog, 后缀又会从 000001 开始. 但如果该库为主库, 且有连接从库, 而从库正在读取试图删除的日志之一,
则本语句不会起作用, 而是会失败, 并伴随一个错误. 不过, 如果从库没有连接主库, 而又删除了从库读取的日志, 则从库启动后不能复制. 当从库正在复制时, 本语句可以安全运行, 不需要停止它们.
查看当前二进制日志
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000009 | 180 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)
更新二进制
mysql> FLUSH LOGS;
查看二进制日志数目
mysql> SHOW MASTER LOGS;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 117 |
| mysql-bin.000002 | 117 |
| mysql-bin.000003 | 1181 |
| mysql-bin.000004 | 491718 |
| mysql-bin.000005 | 2543824 |
| mysql-bin.000006 | 8032840 |
+------------------+-----------+
16 rows in set (0.01 sec)
列出所有的日志及其大小
查看 events
mysql> SHOW BINLOG EVENTS;
MySQL 命令终端查看当前日志中记录的日志.
mysqlbinlog
[root@localhost ~]# mysqlbinlog /usr/local/mysql/var/mysql-bin.000001
查看二进制文件 mysql-bin.000001 中记录的 DML 和 DLL.
mysqlbinlog 有用参数
•-d, --database=dbname 列出查看的数据库
•--start-datetime='2011-03-25 00:00:00' 查看发生在该指定时间之后的 events.
•--stop-datetime='2011-03-25 23:59:59' 查看发生在该指定时间之前的 events.
•--start-position=10 查看该指定偏移点之后的 events.
•--stop-position=100 查看该指定偏移点之前的 events.
•--set-charset=utf8 在输出的 events 之前添加上 “SET NAMES utf8″.
基于时间
[root@localhost ~]# mysqlbinlog --start-datetime='2011-03-25 00:00:0' --stop-datetime='2011-03-25 23:59:59' --database=test /usr/local/mysql/var/mysql-bin.000001 > /tmp/1.log
> /tmp/1.log 将其重定向到 1.log, 更便于查看.
基于偏移量
[root@localhost ~]# mysqlbinlog --start-position=98 --stop-position=344 --database=test /usr/local/mysql/var/mysql-bin.000001 > /tmp/1.log