2013-01-18 67 views
0

當我運行此命令SHOW DATABASES命令失敗

SHOW DATABASES 

我收到以下錯誤

ERROR 1146 (42S02): Table 'information_schema./tmp/#sql_2569_0' doesn't exist 

任何想法或意見?我試過重新運行mysql-db -install腳本,但沒有運氣。

+0

嘗試運行[mysql_upgrade](http://dev.mysql.com/doc/en/mysql-upgrade.html)? – eggyal

+0

檢查磁盤空間,文件權限。 – palindrom

+0

在每一個mysql安裝都有一個架構稱爲** information_schema ** 可能是您的用戶沒有權限訪問,或可能是mysql用戶無法訪問文件。 –

回答

1

我已靜態編譯InnoDB存儲引擎並禁用了HEAP存儲引擎。 information_schema表是內存表,因此需要HEAP存儲引擎。

+1

這實際上是一個相當不錯的錯誤。 'information_schema'表完全依賴於內存中的臨時表,因此如果'HEAP'被禁用,那麼應該禁用'information_schema'。或者,更現實的說,禁用「HEAP」的選項應該被刪除。現在很多'SHOW'命令在內部映射到'information_schema'查詢,所以真正的沒有'HEAP'的服務器可能沒用。 – jeremycole

+0

這是什麼MySQL版本? – jeremycole

0

檢查以下

1.my.cnf爲skip_show_databses(如果存在停用)

2.檢查對你的數據目錄文件的權限(644是不錯的水平)

3。如果以上兩個失敗升級你的mysql

4.在最壞的情況下,你只需創建目錄,並給它的完全權限,並重新啓動服務器(它可能工作我不知道,但要小心,不要忘記備份之前你繼續)

+0

檢查鏈接http://bugs.mysql.com/bug.php?id=10783 – vidyadhar