在/var/log/mysql
中我发现有很多大文件
-rw-rw---- 1 mysql adm 104875724 Nov 16 2016 mysql-bin.002982
-rw-rw---- 1 mysql adm 104900467 Nov 16 2016 mysql-bin.002983
...............
-rw-rw---- 1 mysql adm 104919093 Nov 23 2016 mysql-bin.003118
-rw-rw---- 1 mysql adm 104857817 Nov 23 2016 mysql-bin.003119
-rw-rw---- 1 mysql adm 104858056 Nov 23 2016 mysql-bin.003120
-rw-rw---- 1 mysql adm 9184221 Nov 23 2016 mysql-bin.003121
-rw-rw---- 1 mysql adm 104907549 Nov 23 2016 mysql-bin.003122
......
-rw-rw---- 1 mysql adm 6272 Nov 25 2016 mysql-bin.index
我可以删除它们吗?
更新
我不对数据库使用复制
4条答案
按热度按时间hmtdttj41#
最好不要手工做,你可以通过mysql来做。
例如,要删除一周前运行以下命令之前所有内容:
或者(甚至更好)编辑
my.cnf
并设置此参数a7qyws3x2#
这些大文件是MYSQL BINARY LOG,以非常详细的方式存储查询事件,如添加、删除和更新。二进制日志主要用于两个目的:
有几种方法可以删除或清理MySQL二进制日志,不建议手动清理文件,您需要使用PURGE BINARY LOGS语句来安全地清除二进制日志文件:
1.在每个复制副本上,使用
SHOW SLAVE STATUS
检查它正在阅读哪个日志文件。1.使用
SHOW BINARY LOGS
获取复制源服务器上的二进制日志文件列表。1.确定所有副本中最早的日志文件。这是目标文件。如果所有副本都是最新的,则这是列表中的最后一个日志文件。
1.备份所有要删除的日志文件。(此步骤是可选的,但始终建议执行。)
1.清除目标文件之前(但不包括目标文件)的所有日志文件。
由于尚未设置备份,请执行以下操作:
您还可以删除早于特定日期(如2019-04-02 22:46:26)的二进制文件,
PURGE BINARY LOGS语句结构:
直接来自官网
lmyy7pcs3#
您也可以使用1衬管删除它们。
它通过MySQL安全地删除所有二进制日志,但您在当前会话中使用的日志除外。
purge binary logs before curdate();
qjp7pelc4#
我的意思是,我的意思是,我的意思是:
rm -rf /