MySQL:Can‘t change size of file (OS errno 28 - No space left on device)

OS errno 28 - No space left on device

MySQL 执行一个大查询的时候,报错。

Can’t change size of file (OS errno 28 - No space left on device)

当MySQL服务器试图执行一些操作时,它会在磁盘上创建或写入文件。如果磁盘上的可用空间不足,将出现Writing file error (Errcode 28)错误。
检查MySQL所在的目录,看数据所在存储空间充足。
还有其他的可能性:如果有一个查询需要建立一个临时文件,但在执行查询之前发现磁盘上可用空间不足,那么就会出现这个错误。

因为查询使用:

with filtered_tmp_data as (
		select  ... ...

查询的数量比较大,造成创建临时文件空间不足。
Windows下的MySQL没有设置临时文件目录,Windows系统盘的空间不大,可能造成临时文件空间不足。

解决方法:
增加临时文件路径,增加日志历史文件过期限制

[mysqld]
tmpdir = D:\\App\\mysql-8.0.16\\temp
expire_logs_days = 7

关闭数据库,重新启动。
再执行查询,可以查询出结果,不再报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值