ええやんブログ

ええやないかのええやんブログ

phpMyAdminのサイドバーで#1142エラーが出る

あるデータベースへの操作権限を与えたユーザーを作成し、そのユーザーでログインしたところ、下記のエラーがphpMyAdminのサイドバーに表示されてしまいました。

#1142 - SELECT command denied to user '********'@'localhost' for table 'pma_recent'

どうやらphpMyAdminが最近使用したテーブルを取得しようとしてエラーとなっているようです。
で、解決方法は以下の二つあります。

最近使用したテーブルは無視する

phpMyAdminのトップから「設定」->「ナビゲーションフレーム」->「最近使用したテーブル」の設定を0にします。
こうすると、そもそもそんなSELECTは走らないのでエラーになりません。

最近使用したテーブルへの操作権限を与える

最近使用したテーブル(pma_recent)はphpmyadminというデータベース内に存在するので、該当ユーザーがphpmyadminのデータベースも操作できるよう特権を付与します。
こっちのほうがなんか正しいやり方にみえますね。

GRANT
    SELECT,
    INSERT,
    UPDATE,
    DELETE
 ON
    `phpmyadmin`.* TO '********'@'localhost';

なんとか6月は記事を書けたぜ…よかった…