充足的磁盘空间出现错误:“1034 表 'table_name' 的密钥文件不正确;尝试修复它”

rin*_*ogo 3 mysql innodb mariadb

我正在尝试使用以下查询更改 1.6 GB InnoDB 表:

ALTER TABLE `table_name` ADD `field_id` int(11) unsigned DEFAULT NULL
Run Code Online (Sandbox Code Playgroud)

查询失败并出现以下错误:

1034 Incorrect key file for table 'table_name'; try to repair it
Run Code Online (Sandbox Code Playgroud)

几乎关于这个主题的每个线程(SO 和其他地方)都表明这是由于 tmpdir 空间不足。

虽然这似乎是许多人的问题,但在我们的系统中似乎并非如此。

tmpdir/tmp

在此处输入图片说明

/tmp 远未满:

在此处输入图片说明

我完全被困住了。想法?

rin*_*ogo 7

嗯,我是个大傻瓜。当我通过@a_vlad 请求的方法检查数据库的大小时,我意识到之前我检查/tmp了错误服务器上的可用空间

嘎。在跟踪/tmp正确服务器上的可用空间的同时再次执行该命令表明缺乏可用空间确实是问题所在。

......这是我现在正在吃的一块不起眼的馅饼:

在此处输入图片说明

  • 为照片点赞。 (2认同)