1.首先确认你日志是否启用了
?
| 1 | MySQL>show variables like 'log_bin'; |
如果启用了,即ON那日志文件就在MySQL的安装目录的data目录下
2.怎样知道当前的日志
?
| 1 | MySQL> show master status; |
3.看二进制日志文件用MySQLbinlog
?
| 1 | shell>MySQLbinlog mail-bin.000001 |
或者
?
| 1 | shell>MySQLbinlog mail-bin.000001 | tail |
4.正确删除MySQL BIN-LOG 日志实操
在mysql中会生大量的如mysq-bin.000001这类日志文件了,这些都是二进制文件了,如果我们是普通的日志没有进行主从配置就可以直接使用reset master进行删除了这个方法很简单,
如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:
?
| 1 | mysql> reset master; |
还有一各就是在my.cnf里配置。
?
| 1 | expire_logs_days = 3 |
二进制日志自动删除的天数。这里设置了自动清除3天前的logs。
默认值为0,表示“没有自动删除”。
例
?
# 按文件:删除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日志文件请参考下面方法
?
//删除日志之前,先检查主从服务器当前使用的日志文件, //首先登录 要删除日志的服务器的 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之前的所有日志都已经删除 |
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦