我的磁盘已满,tmpdir 中的一个 .MAD 文件占用了文件系统上的所有空间(189G 中的 179G)
从日志:
[警告] mysqld: 磁盘已满写入 '/var/tmp/#sql_b6f_0.MAD' (Errcode: 28)。等待某人释放空间
我可以停止mariadb,还是需要先释放一些空间然后停止它?
我的磁盘已满,tmpdir 中的一个 .MAD 文件占用了文件系统上的所有空间(189G 中的 179G)
从日志:
[警告] mysqld: 磁盘已满写入 '/var/tmp/#sql_b6f_0.MAD' (Errcode: 28)。等待某人释放空间
我可以停止mariadb,还是需要先释放一些空间然后停止它?
我能够做到
service mysqld stop
并删除了 tmpdir 中的文件,从而解决了问题....Aaargh 我一直在寻找修复 5 个小时!但是我是初学者,所以是的......我们在生产中的 SUSE Linux 服务器上运行我们的 MariaDB,所以停止整个 mysql 服务对我来说不是一个好的选择。
我使用and运行了一个
select
带有嵌套选择的查询,这是我的确切错误:order by
inner join
通过连接到服务器并运行
或者
我可以找到罪魁祸首:#sql_ xxx_y .MAD(与我在 tmp 分区上的总可用空间一样大)和#sql_ xxx_y .MAI大小 8K(这必须是临时查询)。此外,*.MAD 文件将不断更新其日期 - 另一个指标仍在运行查询!
所以这个线程和另一个线程帮助我弄清楚了:
在那之后我跑了
show processlist;
两次:第一次它显示我的查询为被杀,第二次我的查询从列表中消失,.MAD和.MAI文件不见了,我的磁盘空间又恢复了原位。