0
我試圖轉儲在亞馬遜的RDS服務,MySQL版本5.5.27上運行的數據庫。下面是我運行命令:mysqldump:無法創建/寫入文件錯誤從亞馬遜RDS
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)
那麼,既然錯誤消息說,它失敗的「秀場」,我試圖執行「顯示領域從MyTable「直接從mysql解釋器中獲取。我得到什麼似乎是一個文件的問題:
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'?
我我已經從我的本地機器上嘗試了同樣的事情,並且得到了相同的結果。谷歌搜索這並沒有結果。我怎樣才能防止這種錯誤發生?
你能澄清一下嗎?你的第一句話似乎表明數據庫在EC2上運行,但是你也提到了RDS。數據庫實際上是否在RDS上,並且您正在嘗試訪問它或將轉儲執行到EC2實例上?你的第一個查詢與轉儲數據庫有什麼關係(它應該是'show columns')?當你真正運行'mysqldump'時會發生什麼? –
邁克,謝謝,我澄清了我的問題,希望它現在讀得更清楚一點。 –
這似乎是RDS實例上的實際文件系統上的問題,顯然你無法控制。可能是一臺壞機器。如果您可以在不中斷生產的情況下這樣做,您是否可以嘗試調整RDS實例的大小以嘗試強制它移動到新機器上? –