2012-03-26 84 views
1

我有一個網站,用php編寫,使用MySQL數據庫。在購買新筆記本電腦(Windows 7)後,我下載了WAMP 2.2,包括MySQL 5.5.20,PHP 5.3.10和phpMyAdmin 3.4.10.1。我從實時網站導出整個數據庫,並使用MySQL控制檯將其導入到我的wamp環境中。phpMyAdmin不顯示數據庫的表列表,肯定有表格

phpMyAdmin列出數據庫,但表示其中沒有表格。然而,這些網站在WAMP環境下工作。此外,如果我在phpMyAdmin中執行SQL「SHOW TABLES」,它將顯示這些表。

我完全困惑,爲什麼這些表沒有列在phpMyAdmin最左邊的列中。

+0

緩存問題也許呢?您是否清除瀏覽器緩存? – bfavaretto 2012-03-26 19:10:39

回答

11

我有類似的問題。通過一些挖我發現phpMyAdmin的桌子上名單未能在此查詢:

SHOW TABLE STATUS FROM `database`; 

這是錯誤消息:

ERROR 1143 (42000): SELECT command denied to user ''@'localhost' 
for column `column` in table `table` 

害得我這太問題:mysql forgets who is logged in: command denied to user ''@'%'

哪導致我得出結論,即我加載到數據庫中的一個視圖具有衝突的權限。事實上,當我看着SQL轉儲我是從裝載數據庫,我發現罪魁禍首:

CREATE ALGORITHM=UNDEFINED DEFINER=`someotheruser`@`localhost` .. 

someotheruser在我的本地MySQL並不存在。我將其更改爲以下內容:

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` .. 

並重新載入視圖,並且所有內容現在都正常工作。

+0

thx幫助 – nowhere 2013-03-22 09:39:11

-2

只是爲了幫助別人,在phpMyAdmin的,在config.inc.php文件,更改此:

$cfg['Servers'][$i]['extension'] = '**mysqli**'; 

這樣:

$cfg['Servers'][$i]['extension'] = '**mysql**'; 
+2

不要,你想使用'mysqli',更快,更可靠 – Fabrizio 2014-03-24 21:28:53

0

問題是與定義者,如果您有任何在數據庫中查看。

只要刪除視圖,它應該工作,或者您可以在記事本中打開導出的數據庫文件,並將Definer更改爲根。