各位用户为了找寻关于简单整理MySQL的日志操作命令的资料费劲了很多周折。这里教程网为您整理了关于简单整理MySQL的日志操作命令的相关资料,仅供查阅,以下为您介绍关于简单整理MySQL的日志操作命令的详细内容
1.首先确认你日志是否启用了
? 1MySQL>show variables like
'log_bin'
;
如果启用了,即ON那日志文件就在MySQL的安装目录的data目录下
2.怎样知道当前的日志
? 1MySQL> show master status;
3.看二进制日志文件用MySQLbinlog
? 1shell>MySQLbinlog mail-bin.000001
或者
? 1shell>MySQLbinlog mail-bin.000001 |
tail
4.正确删除MySQL BIN-LOG 日志实操
在mysql中会生大量的如mysq-bin.000001这类日志文件了,这些都是二进制文件了,如果我们是普通的日志没有进行主从配置就可以直接使用reset master进行删除了这个方法很简单, 如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:
? 1mysql> reset master;
还有一各就是在my.cnf里配置。
? 1expire_logs_days = 3
二进制日志自动删除的天数。这里设置了自动清除3天前的logs。
默认值为0,表示“没有自动删除”。
例
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22# 按文件:删除mysql-bin.000354之前的日志,不包含mysql-bin.000354
MYSQL>purge binary logs to
'mysql-bin.000354'
;
Query OK, 0 rows affected (0.16 sec)
# 按时间:删除2011-11-10 00:00:00 之前的日志
MYSQL>purge binary logs before
'2011-11-10 00:00:00'
;
# 按时间:请理三天之前的日志
MYSQL> purge master logs before date_sub(now(), interval 3 day);
自动清理日志 :
# 修改my.cnf文件配置bin-log过期时间
expire-logs-days=7
max-binlog-size=268435456
如果你是主从mysql日志文件请参考下面方法
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41//
删除日志之前,先检查主从服务器当前使用的日志文件,
//
首先登录 要删除日志的服务器的 mysql 终端
#mysql -u root -pxxxxx
//
检查复制主服务器状态
Mysql>show master status
+------------------+-----------+--------------+----------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+----------------------------------------+
| mysql-bin.000097 | 541677824 | www |
test
,mysql,information_schema |
+------------------+-----------+--------------+----------------------------------------+
//
复制主服务器当前正在使用的日志文件是:mysql-bin.000097
//
检查复制从服务器状态
Mysql>show slave statusG
//
复制从服务器当前正在使用的复制主服务器日志文件是:mysql-bin.000103
//
当前正在使用的日志文件是000097,我需要做的是删除00095号之前的所有日志(预留出最近几天的日志)
Mysql>purge master logs to ‘mysql-bin.000095;
#ll /usr/local/mysql/var/
//
从结果中发现,编号000097之前的所有日志都已经删除