mysql 删除日志文件命令详解
2019/10/10/17:36:29 阅读:2407 来源:谷歌SEO算法 标签:
自学SEO
在mysql中会生大量的如mysq-bin.000001这类日志文件了,这些都是二进制文件了,如果我们是普通的日志没有进行主从配置就可以直接使用reset master进行删除了这个方法很简单,如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件,代码如下:
mysql> reset master;
还有一各就是在my.cnf里配置,代码如下:expire_logs_days = 3
二进制日志自动删除的天数,这里设置了自动清除3天前的logs,默认值为0,表示“没有自动删除”.
例,代码如下:
- #按文件:删除mysql-bin.000354之前的日志,不包含mysql-bin.000354
- MYSQL>purgebinarylogsto'mysql-bin.000354';
- QueryOK,0rowsaffected(0.16sec)
- #按时间:删除2011-11-1000:00:00之前的日志
- MYSQL>purgebinarylogsbefore'2011-11-1000:00:00';
- #按时间:请理三天之前的日志
- MYSQL>purgemasterlogsbeforedate_sub(now(),interval3day);
自动清理日志,代码如下:
- #修改my.cnf文件配置bin-log过期时间
- [mysqld]
- expire-logs-days=7
- max-binlog-size=268435456
如果你是主从mysql日志文件请参考下面方法,代码如下:
- //删除日志之前,先检查主从服务器当前使用的日志文件,
- //首先登录要删除日志的服务器的mysql终端
- #mysql-uroot-pxxxxx
- //检查复制主服务器状态
- Mysql>showmasterstatus
- +------------------+-----------+--------------+----------------------------------------+
- |File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
- +------------------+-----------+--------------+----------------------------------------+
- |mysql-bin.000097|541677824|www|test,mysql,information_schema|
- +------------------+-----------+--------------+----------------------------------------+
- //复制主服务器当前正在使用的日志文件是:mysql-bin.000097
- //检查复制从服务器状态
- Mysql>showslavestatusG
- //复制从服务器当前正在使用的复制主服务器日志文件是:mysql-bin.000103
- //当前正在使用的日志文件是000097,我需要做的是删除00095号之前的所有日志(预留出最近几天的日志)
- Mysql>purgemasterlogsto‘mysql-bin.000095;
- //phpfensi.com
- #ll/usr/local/mysql/var/
- //从结果中发现,编号000097之前的所有日志都已经删除
热门评论