phpmyadmin 不顯示架構

phpmyadmin 不顯示架構

我有一台伺服器,裡面有大量的mysql資料庫。最近,以 Root 身分登入時,某些架構已停止顯示。

root 使用者 - 到目前為止一直使用

如果我使用該特定資料庫的登入名,那麼我可以看到它。

直接用戶

該資料庫的「所有者」是 root,但其他對 root 不可見的資料庫則由其他人擁有。

我們最近訪問和使用的資料庫似乎消失了,但現在有超過 5 個資料庫不可見。它不是本地緩存,任何使用 root 登入的人都會遇到同樣的問題。

答案1

如果你的當前使用者()沒有說root@localhost,那麼您沒有 root 權限,並且不允許這樣連接。

若要查看連線後您擁有哪些實際權限,請執行此命令

SHOW GRANTS;

當您連接到特定資料庫時,您應該能夠看到

  • 該資料庫的表
  • INFORMATION_SCHEMA 中僅用於該資料庫的元數據

舉例來說,您連接到 buyspace_systdb

輸出來自SHOW GRANTS;很可能會出現這樣的情況

GRANT USAGE ON *.* ...
GRANT ALL PRIVILEGES ON buyspace_systdb.* TO ...

root@localhost如果您從該本機伺服器登錄,則該使用者將可以工作。如果您遠端登入,root@localhost則不允許使用者()驗證為當前使用者()。這一點的證明在你問題的第一個顯示。請注意,您只能看到 information_schema。它實際上是空的,但 information_schema.schemata 除外,它有 1 或 2 個條目。如果root@'%'存在mysql.user並擁有與 相同的特權root@localhost,那麼它就會被允許看到一切root@localhost

MySQL 的身份驗證方案具有螺旋下降效應。如果您嘗試連線的使用者不存在,它將嘗試更模糊的使用者名稱(允許通配符或有限的權限)。請參閱我的 DBA StackExchange 帖子MySQL 錯誤:使用者「a」@「localhost」的存取被拒絕(使用密碼:YES) 有關此的更多詳細資訊。

底線root@localhost:您無法從遠端位置連接

相關內容