一、背景
今天打开Navicat本地的Mysql数据库,发现弹出报错,Can't create/write to file '/tmp/#sql_3a8_0.MYD' (Errcode: 28 - No space left on device),具体如下图

二、调查
通过报错,判断是磁盘容量不足,于是到mysql的目录下使用命令“du -sh *”查看容量

发现data文件夹容量过大,到data中看了一下,发现很多mysql-bin开头的文件

不难猜测这是mysql的binlog日志,后上网调查,发现可以通过执行命令“SHOW BINARY LOGS”来看有哪些binlog日志,然后通过命令“PURGE BINARY LOGS”来清除日志,可以用以下两种方式来清除
#将指定时间之前的日志清理
PURGE BINARY LOGS BEFORE '2023-03-06 12:00:00';
#将指定日志文件之前的日志清除
PURGE BINARY LOGS TO 'mysql-bin.000060';

文章描述了在使用Navicat时遇到MySQL数据库因磁盘空间不足引发的错误。作者通过调查确定问题由大量binlog日志占用空间引起。解决方案是使用`SHOWBINARYLOGS`和`PURGEBINARYLOGS`命令来清除不再需要的binlog日志,从而释放磁盘空间。
6959

被折叠的 条评论
为什么被折叠?



