0

我正在尝试转储在 Amazon 的 RDS 服务 mysql 版本 5.5.27 上运行的数据库。这是我正在运行的命令:

my-ec2-instance# mysqldump -hec2-xx-xx-xx-xx.compute-1.amazonaws.com -uuser -pwhatever mydb

我收到以下错误:

mysqldump: Couldn't execute 'show fields from `MyTable`': Can't create/write to file '/tmp/#sql_1405_0.MYI' (Errcode: 2) (1)

因此,由于错误消息表明它在“显示字段”上失败,我尝试直接从 mysql 解释器执行“显示来自 MyTable 的字段”。我得到了似乎是文件问题:

mysql> show fields from MyTable;
ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_1405_0.MYI' (Errcode: 2)

但是,在出现此错误的同一 EC2 实例上,我可以创建此文件并将其删除:

my-ec2-instance# touch /tmp/#sql_1405_0.MYI; ls /tmp/#sql*;rm /tmp/#sql_1405_0.MYI
/tmp/#sql_1405_0.MYI
rm: remove regular empty file `/tmp/#sql_1405_0.MYI'?

我在本地机器上尝试过同样的事情,我得到了同样的结果。谷歌搜索没有结果。如何防止发生此错误?

4

1 回答 1

0

正如 Mike Brant 建议的那样,我在 EC2 上调整了实例的大小,这迫使它切换机器,将其重新调整回原来的大小,问题就不再发生了。

我仍然不清楚根本原因,但它似乎归结为某种不良状态或特定于我当时使用的 EC2 实例的错误配置。

于 2013-07-10T13:17:47.323 回答