在(拥有的)共享服务器上,mysql 有时会写入很多 .mad 和 .mai。这是因为我认为 2 或 3 个月,完全随机。它可能每天发生 3 次,然后在几周内不会发生,然后在星期一早上再次出现问题。
它可以快速写入大量文件。磁盘很快就满了。我将 tmp 文件夹更改为不同的位置,以便它可以写入更多文件。它现在写入的位置是 16GB,并且也已满。
我在多个位置发现了这个问题并尝试了一些解决方案。我试图限制可以写入的 tmp 文件,tmp_disk_table_size
但这tmp_table_size
似乎没有帮助。
我也尝试输入internal_tmp_disk_storage_engine=MyISAM
my.cnf 但 mysql 无法启动。我这样做是因为我在错误日志中搜索了解决此错误的方法:
Cannot add field images in table database_name.`jospr_tags` because after adding it, the row size is 8769 which is greater than maximum allowed size (8126) for a record on index leaf page.
如果所有数据库都更改为innodb,问题可能会停止,但我不能轻易做到这一点。这些不是我的数据库。
我在服务器上有警报,所以当磁盘快满时我会收到一条消息。当我快速登录时,磁盘已满,并且在 mysql 中检查进程列表没有显示查询,可能是因为磁盘已满而停止。
[ERROR] mysqld: Disk full (/mysqltmp/#sql_3d1b_3.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
目前我不确定什么会有所帮助或我能做些什么来找到任何原因。所有写入的文件都归mysql所有。当我尝试拖尾文件时,它只显示mysql,当我删除文件时,进程停止并且所有文件都消失了。
我目前看到的唯一解决方案是安装一个额外的大磁盘,以便它可以写入更长的时间,以便我们找到原因。但是,此问题再次发生可能需要数周时间,我真的很想更快或更有效地解决这个问题。
我真的希望有些人可以为我提供更多信息,这可能是什么原因,当然还有任何解决方案。
顺便说一句:所有使用 MyIsam 的网站似乎都是 Joomla (3.x) 网站。