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月は記事を書けたぜ…よかった…