2014-11-06 32 views
0

問題,所以我在數據庫上混合了myisam和innodb表。 (它的一個相當大的分貝30GB) 我複製的數據庫文件從一臺服務器到下一個/var/lib/mysql/databasename 很好的MyISAM表被打開InnoDB表列,但是當我點擊其中任何一個左側的選項卡上(phpMyAdmin的)我得到這個錯誤:#1146 - Table 'databasename.users' doesn't exist 這將是用戶表。其他innodb表具有相同的問題。 我想知道如何解決這個問題。 我登錄到通過ssh以root mysql的直接,當我這樣做:SHOW TABLES; 表用戶和其他InnoDB表都一一列出。當我做SHOW COLUMNS FROM users; 我得到:移動二進制數據庫文件夾導致與innodb表

mysql> show columns from article; 
ERROR 1146 (42S02): Table 'sitecontent.article' doesn't exist 

任何想法嗎? (問題只存在於innodb表中!)

+0

不是一個編程的問題。請在[dba.Se] – 2014-11-06 18:20:45

+1

我認爲他們並沒有完全複製的是,刪除並重新創建數據庫可以幫助你,或者你沒有複製的兩個結構及其內容 – 2014-11-06 18:25:56

回答

1

當MySQL返回Table 'sitecontent.article' doesn't exist這意味着InnoDB在表sitecontent.article的字典中找不到任何記錄。這意味着ibdata1(InnoDB字典存儲在哪裏)對您的數據庫而言是外來的。它一定是在新服務器的某處丟失的。

+0

我雙重檢查,我會再次複製。謝謝 ! – nodejsj 2014-11-06 19:05:57