sql >> データベース >  >> Database Tools >> phpMyAdmin

phpMyAdminは、間違いなくテーブルがあるデータベースのテーブルリストを表示しません

    私も同様の問題を抱えていました。いくつか掘り下げてみると、phpMyAdminのテーブルリストがこのクエリで失敗していることがわかりました:

    SHOW TABLE STATUS FROM `database`;
    

    そして、これはエラーメッセージでした:

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

    それが私をこのSOの質問に導きました: mysqlは誰がログインしているかを忘れます:コマンドはユーザー'' @'%'に拒否されました

    これにより、データベースにロードしたビューの1つに競合する特権があるという結論に達しました。実際、データベースをロードしているSQLダンプを調べたところ、原因が見つかりました:

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

    someotheruser 私のローカルMySQLには存在しませんでした。次のように変更しました:

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

    ビューをリロードすると、すべてが正常に機能するようになりました。



    1. GoogleCloudPHPの管理者がsshに接続していません

    2. MySQLが列の既存のIDに先頭の数字を追加する

    3. phpMyAdminデータベースが選択されていませんMySQL

    4. 'SQLServerの'の近くの構文が正しくありません