mysql删除查看二进制日志

来源于:[url]http://www.livingelsewhere.net/2011/03/25/purge-view-binlog/[/url]

[size=x-large]删除[/size]


PURGE {MASTER | BINARY} LOGS TO 'binlog-name';
删除 binlog-name 编号之前所有的日志.

PURGE {MASTER | BINARY} LOGS BEFORE 'date';
除当前使用日志外, 如果其他日志最后更新时间是小于 date, 则会被删除.


[size=large]例子[/size]


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)


[size=x-large]expire_logs_days[/size]
MySQL 可以根據 expire_logs_days 的設置自動清除日誌。該值默認為 0, 即不會自動清除。可能的值為 0-99.
配置文件中設置

[mysqld]
expire_logs_days=1

命令端設置

mysql> SET GLOBAL expire_logs_days=1;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'expire%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 1 |
+------------------+-------+
1 row in set (0.00 sec)


The number of days for automatic binary log file removal. The default is 0, which means “no automatic removal.” Possible removals happen at startup and when the binary log is flushed. Log flushing occurs as indicated in

[size=x-large]清空二进制日志[/size]

mysql> RESET MASTER

该命令会删除之前所有的 binlog, 并重新生成新的 binlog, 后缀又会从 000001 开始. 但如果该库为主库, 且有连接从库, 而从库正在读取试图删除的日志之一,
则本语句不会起作用, 而是会失败, 并伴随一个错误. 不过, 如果从库没有连接主库, 而又删除了从库读取的日志, 则从库启动后不能复制. 当从库正在复制时, 本语句可以安全运行, 不需要停止它们.

[size=x-large]查看当前二进制日志[/size]
	
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000009 | 180 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)


[size=x-large]更新二进制[/size]

mysql> FLUSH LOGS;


[size=x-large]查看二进制日志数目[/size]

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)

列出所有的日志及其大小



[size=x-large]查看 events[/size]

mysql> SHOW BINLOG EVENTS;



[size=x-large]MySQL 命令终端查看当前日志中记录的日志[/size]
mysqlbinlog
[code="sql"]
# mysqlbinlog /usr/local/mysql/var/mysql-bin.000001
[/code]

查看二进制文件 mysql-bin.000001 中记录的 DML 和 DLL.

[b]mysqlbinlog 有用参数[/b]

[list]
[*]-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″.
[/list]

[b]基于时间[/b]
[code="sql"]
# 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, 更便于查看.
[/code]

[b]基于偏移量[/b]
[code="sql"]
# mysqlbinlog --start-position=98 --stop-position=344 --database=test /usr/local/mysql/var/mysql-bin.000001 > /tmp/1.log
[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值