M's Photography 松下直樹のブログ

山陰の写真家 松下直樹のオフィシャルブログです

phpMyAdminにログインできない問題を解決

前回に引き続きPCネタを。

今回もタイトルの通り、同じようなことで悩んでおられる方の助け舟になれば幸いです。


phpMyAdminのユーザーメニューからユーザーのパスワードを変更した後、

#1045 MySQL サーバにログインできません”という表示が出てログインができなくなり、

ネットで色々と検索してみましたが、どこが間違っているのかさっぱりわからず、

丸一日、頭を冷やして考えた末、やっと問題を解決することができました。


まずは、どこが間違っているのか検証するため、コマンドプロンプトから

変更したパスワードを入力してMySQLへログインしてみます。

Windows VISTA以降のOSの場合、インストールされたディレクトリの上で

shiftキー + 右クリックコマンドプロンプトを開くことができます。

そうすると右のように表示され、入力を省くことが可能です。「C:\xampp\mysql\bin

それ以前のOSの場合はインストールされているディレクトリを入力してください。


続いて、mysql -h localhost -u root と入力してenterキーを押してください。

この時点で接続できてしまう場合は、パスワードが変更されていません。

この状態ではセキュリティーの問題がありますので、

phpMyAdminのユーザーメニューからユーザーのパスワードを変更を行ってください。


パスワードの変更が行われていれば、コマンドプロンプト

ERROR 1045...などの表示が出て、再度ディレクトリの表示が自動で入力されます。

では次にmysql -h localhost -u root -p と入力してenterキーを押してください。

すると、Enter password: と表示されますので、変更登録したパスワードを入力、

enterキーを押してください。

Welcome to the MySQL monitor.などの表示が出れば接続成功で、

パスワードは正しく変更されていることがわかります。


これでパスワードが間違っていないことが分かったわけですが、

だとしたら何が間違っているのだろう???


そこで、また色々と調べてみたわけですが、

どうやらパスワードの変更後、config.inc.phpを修正しなければならないようです。


まずは適当なテキストエディタでconfig.inc.phpを開きます。

以下の赤い文字の部分がどうなっているのか?これ問題でした・・・。


/* Authentication type and info */

$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)
$cfg['Servers'][$i]['user'] = 'root';

$cfg['Servers'][$i]['password'] = '****';

$cfg['Servers'][$i]['extension'] = 'mysqli';

$cfg['Servers'][$i]['AllowNoPassword'] = true;

$cfg['Lang'] = '';


自分の場合、パスワードを変更した後、これを開いて変更していたのですが、

勘違いをして自分のユーザー名を入力していたようです・・・。

コマンドプロンプトでは「-u root」と入力していたというのに、情けない・・・。


ユーザー名をroot、パスワードを変更したものを入力して保存、

phpMyAdminにアクセスしてユーザー名をrootと記入してパスワードを入力すると

無事にログインすることができました。

ユーザー名はあくまでもrootなんですね。


ネットで検索しても、ここまで解説しているものが見つけられず、

随分と遠回りしてしまいました。

場合によっては他の問題でログインできない可能性もありますが、

大抵の場合はここが変更されていないのが原因と考えられます。