我正在尝试转储在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)
因此,由于错误消息显示它在“show fields”上失败,我试图直接从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'?
我在本地机器上尝试了同样的操作,得到了相同的结果。谷歌搜索这个没有结果。如何防止发生此错误?
答案 0 :(得分:0)
正如Mike Brant建议的那样,我在EC2上重新调整了实例,强制它切换机器,将其重新调整为原来的尺寸,问题不再发生。
我仍然不清楚根本原因,但它确实似乎是由于我当时正在使用的EC2实例所特有的某种错误状态或错误配置。