phpMyAdminの認証方法
phpMyAdminってレンタルサーバーとかでインストールされているのを使った事しかなかったんだけど、今ちょこちょこ開発を進めているシステムではXAMPPを開発環境にしてるので、初めてphpMyAdminを自分で設定変更可能な環境で使っている。(まぁ基本はXAMPPを入れると勝手にインストールされるんだけど)
最初はrootのパスワードは無しでMySQLを使ってたんだけど、さすがに良くないなと思ってパスワードを設定したら、phpMyAdminで以下のようなエラーを吐いてDBが見られなくなった。
エラー MySQLのメッセージ: ドキュメント #1045 - Access denied for user 'root'@'localhost' (using password: NO) MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください
エラーメッセージを良く読まずに「パスワード設定したのにパスワード無しで接続しに行ってるんだな」程度に考えてブラウザを閉じて開き直したりしたけどダメ。
良くエラーメッセージを読んでみると、config.inc.phpを確認しろと書いてある。もうちょい調べてみると、phpMyAdminには以下の認証方法があるらしい。
- config :config.php にMySQLのユーザー名とパスワードを書く方法。phpMyAdminをlocalhostで動かしている場合にはこれでも良い。
- http :HTTP標準認証を使う。phpMyAdminを設置したサーバーがネットに公開されている場合は、これか、次の"cookie"を使うべき。
- cookie :通常のWebアプリのようにログイン画面が表示される。ブラウザを閉じなくても明示的に「ログアウト」が出来る分、"http"よりは安全だとか。
config.inc.php は <XAMPPインストールフォルダ>phpMyAdmin の下にあるのでそれを修正。