MYSQL报错:Error writing file ‘./xxxx/xxxxxx.frm‘ (Errcode: 28 - No space left on

今天在测试环境数据库插入数据时没响应,然后在测试环境服务器上也新建不了文件,直到在测试环境的数据库里建表时,报了一个这个错
错误信息:磁盘空间不足。
之后去服务器上 df -h 查看磁盘空间使用情况,
在这里插入图片描述
当时发现Use%已经到百分之百了,(这里是已经清理过后的)。
虽然是测试环境,但是服务器的东西也不太好删,于是去根目录

du -h --max-depth=1

查看每个目录下的大文件,发现了一个文件很大,有几十G

...-slow.log

这是mysql的一个记录慢查询的日志文件
可以在数据库里执行

show variables like '%slow_query_log%';

在这里插入图片描述
第一个参数的值是是否开启慢查询日志,
第二个是日志文件的地址

 show variables like 'long_query_time%';

在这里插入图片描述
可以看到阈值是10秒,意味着超过10秒的语句会被记录到慢查询日志中

这里可以执行

show variables like ‘%log_output%’

命令查看日志的存储方式,FILE和TABLE两种,这里是file文件类型的,也可以是存储到数据库表中。

那么为什么慢日志会变得这么大呐

首先执行

show full processlist

查看正在执行的进程
在这里插入图片描述
可以发现最上面的两个查询语句一致在执行,导致涉及到上面两个语句的表一直被锁,继而阻塞同表后面的所有操作,因为被锁的表使用率也很高,导致后面的语句都会被记录进慢查询日志里,久而久之慢查询日志就变得很大,继而占满服务器的磁盘空间。

后续解决方法是杀掉那两条长时间的sql,关闭慢查询,同时删除慢查询日志即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值