phpMyAdminで「SELECT command denied to user〜」のエラー

2015/02/25 Web制作関係  このエントリーをはてなブックマークに追加
よくわからないところで引っかかってしまったのでメモ。
phpMyAdminで接続すると、あちらこちらで「SELECT command denied to user〜」というエラーが出て、データベースが表示されない時の対処法。

正確に言うと今回は、サイドバーにはエラーしかなくて、データベース→テーブル一覧表示まではいくけれども、テーブル名をクリックしても中身が表示されない!という現象でした。


理由は、権限の割り当てです。
データベース毎に個別に管理ユーザを作成し、権限を割り当てている場合は要注意。

ログインユーザには、そのユーザに対応したデータベースにしか権限が割り当てられていないため、phpMyAdmin用のデータベース(phpMyAdminを設置した際に自動生成される最近利用した項目等を保存しておくためのデータベース)にアクセスすることはできません。
そうなると、phpMyAdmin上でそのデータベースへアクセスしようとした際にエラーが出る→表示されない!となるようです。多機能で便利だけど、こんな落とし穴があったとは…


以下対処法。
config.inc.phpを編集します。

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';

↑上記をコメントアウト。


これで動くようになります。
対処法はものすごく簡単なのに、原因がわからず混乱でした。
こういう時黒い画面できる方がいいんでしょうねぇ。

コメント

*
*

<< GithubのREADME.mdの書き方がわかるリンク先まとめ | 座駆動LT大会2でWeb制作工程グランドスラムについて話してきた >>