2014-03-13 25 views
0

我在Ubuntu 12.04 LTS上安裝了MySQL Server 5.1.58-1ubuntu1。MySQL備份每次都打破一張表

每天晚上,我們做的所有數據庫的備份與此腳本:

rm -rf /var/backup/mysql/ * 
for i in $(echo 'SHOW DATABASES;' | mysql -u root -p'password' |grep -v '^Database$'); do 
mysqldump \ 
-u root -p'password' \ 
-Q -c -C --add-drop-table --add-locks --quick --lock-tables \ 
$i > /var/backup/mysql/$i.sql; 
tar -cpzf /var/backup/mysql/$i.sql.tar.gz /var/backup/mysql/$i.sql; 
rm -rf /var/backup/mysql/$i.sql 
done; 

每次備份執行特定的MySQL表時被打破。(MYD和MYI文件被刪除,而FRM遺體)。

我們有很多數據庫和表格,只有這一個是壞的。

有什麼想法?

+0

你是什麼意思「破」?放置一些日誌 –

+0

Broken =該表的MYD(數據)和MYI(索引)文件消失(僅保留FRM文件)。我可以再次創建表格(並且檢查是否存在MYD,MYI和FRM文件),並且每晚備份MYD和MYI文件都將被刪除。 – Dimas

回答

0

解決!最後,我嘗試重命名錶格,現在它每天都會停止損壞!看起來MySQL有一些內部註冊表,表明前面的表名有問題。