![当 MySQL 日志文件的数据大小超过限制时,如何命令删除它?](https://linux22.com/image/932653/%E5%BD%93%20MySQL%20%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E6%95%B0%E6%8D%AE%E5%A4%A7%E5%B0%8F%E8%B6%85%E8%BF%87%E9%99%90%E5%88%B6%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%91%BD%E4%BB%A4%E5%88%A0%E9%99%A4%E5%AE%83%EF%BC%9F.png)
我有一台 MySQL 服务器,我发现它不接受任何连接,因为磁盘空间不足。我检查了 mysql 的日志文件,它们的大小为 480GB(几乎与磁盘容量相同)。当我手动删除这些日志文件时,服务器再次开始服务并接受连接。我该如何解决这个问题?我可以发出命令,在 MySQL 日志文件的大小足够大时删除它们吗?或者我应该做其他事情,比如不记录所有内容。我应该做什么,我该怎么做?请帮忙(ubuntu 18.04)。
答案1
当我手动删除这些日志文件时,服务器再次开始提供服务并接受连接
请不要删除它们,而是使用 清空它们> mysql.log
。这是更好的做法:有时软件希望在运行时日志存在,当它尝试写入日志时,如果日志消失,它可能会崩溃。清空还可以保留权限。
我该如何解决这个问题?
使用 logrotate。下面是一个例子脚本。