phpMyAdminのログイン/パスワードに関する設定

データベース管理ツールである phpMyAdmin では、アクセスするとき root アカウントを使用します。デフォルトでは root アカウントのパスワードは設定されていない前提で初期設定が行われているため、 root アカウントにパスワードを設定すると一時的に phpMyAdmin にアクセスできなくなります。 phpMyAdmin に再びアクセスできるようにするには、 phpMyAdmin で設定されている root アカウントのパスワードを更新するか、毎回ログイン画面を表示してパスワードを都度入力してもらうかのどちらかで対応します。ここでは root アカウントのパスワードを設定したあとに、 phpMyAdmin のログイン用パスワードに関する設定を行う方法について解説します。

(Last modified: )

rootアカウントのパスワード設定後にphpMyAdminへアクセスする

phpMyAdmin ではデフォルトの設定で、 root アカウントを使ってログインを行うように設定されています。 root アカウントのログイン用パスワードは空欄で設定されているため、 root アカウントにパスワードを設定すると phpMyAdmin へログインするときにログインに失敗しアクセスできなくなります。

それでは root アカウントにパスワードを設定したあとで実際に phpMyAdmin へアクセスしてみます。 phpMyAdmin へアクセスするには Apache と MariaDB の両方を起動した状態で、 XAMPP コントロールパネルの MySQL の行にある Admin をクリックして下さい。

rootアカウントのパスワード設定後にphpMyAdminへアクセスする(1)

エラーが表示されて phpMyAdmin を利用することができませんでした。エラーメッセージは「MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください。」です。

rootアカウントのパスワード設定後にphpMyAdminへアクセスする(2)

設定ファイルの初期値はユーザー名が root でパスワードが空白となっていますが、 root アカウントのパスワードが設定されているため、デフォルトの設定ファイルの設定ではログインに失敗します。

そこで phpMyAdmin に再びログインするには、(1)設定ファイルに記述されている root アカウントのパスワードを空白から現在設定されているパスワードに変更する、(2)設定ファイルに記述されたユーザー名とパスワードでログインするのではなく、毎回ログイン画面を表示してユーザー名とパスワードを入力するようにする、のどちらかで対応します。

phpMyAdminの設定ファイルに記載されたrootアカウントのパスワードを変更する

最初に phpMyAdmin の設定ファイルに記載された root アカウントのパスワードを新しく設定したパスワードに変更してみます。 phpMyAdmin の設定ファイルは XAMPP をインストールしたディレクトリの下にある phpMyAdmin\config.inc.php ファイルです。

phpMyAdminの設定ファイルに記載されたrootアカウントのパスワードを変更する(1)

設定を変更するため、テキストエディタで開いてください。

phpMyAdminの設定ファイルに記載されたrootアカウントのパスワードを変更する(2)

次のような記述が見つかります。

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

パスワードが現在空になっています。 MariaDB の root アカウントに設定したパスワードを入力して下さい。

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'パスワードを記述';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

設定変更が終わりましたらファイルを保存してください。これで準備は完了です。 Apache や MySQL を再起動する必要はありません。

それでは改めて XAMPP コントロールパネルの MySQL の行にある Admin をクリックして下さい。

phpMyAdminの設定ファイルに記載されたrootアカウントのパスワードを変更する(3)

phpMyAdmin にログインに成功し、 phpMyAdmin の管理画面がブラウザで表示されました。

phpMyAdminの設定ファイルに記載されたrootアカウントのパスワードを変更する(3)

phpMyAdminのログイン方法を変更する

次に設定ファイルにログイン用のアカウントとパスワードを記述するのではなく、毎回ログイン画面を表示してユーザー名とパスワードを入力するように変更する方法です。先ほどと同じ phpMyAdmin\config.inc.php ファイルを開き、ログインに関する設定箇所をみてください。(パスワードは空白に戻してあります)。

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

auth_type の値を config から cookie に変更してください。

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

設定変更が終わりましたらファイルを保存してください。これで準備は完了です。 Apache や MySQL を再起動する必要はありません。

それでは改めて XAMPP コントロールパネルの MySQL の行にある Admin をクリックして下さい。

phpMyAdminのログイン方法を変更する(1)

ログイン画面が表示されました。

phpMyAdminのログイン方法を変更する(2)

ユーザー名に root 、パスワードに root アカウントに設定されているパスワードを入力してください。入力が終わりましたら「実行」をクリックしてください。

phpMyAdminのログイン方法を変更する(3)

phpMyAdmin にログインに成功し、 phpMyAdmin の管理画面がブラウザで表示されました。

phpMyAdminのログイン方法を変更する(4)

なお画面下部に「設定ファイルの中に記述されているパスフレーズ(blowfish_secret)が短すぎます。」という警告表示が行われています。

phpMyAdminのログイン方法を変更する(5)

警告表示を行わないようにするには phpMyAdmin\config.inc.php ファイルの次の箇所をみてください。

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */

blowfish_secret に対するデフォルトの値が 'xampp' となっており、この値が短すぎるため警告が表示されています。 32 文字以上の任意の文字列に変更してください。(ここで設定した値を内部的に使用されるだけなので、どこかで入力が求められるようなことはありません)。

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'llefFEWijfeWe8434gg34joZFEWf3faGB';

設定変更後、ファイルを保存したら phpMyAdmin に再度ログインしてください。今度は警告が表示されませんでした。

phpMyAdminのログイン方法を変更する(6)

-- --

root アカウントのパスワードを設定したあとに、 phpMyAdmin のログイン用パスワードに関する設定を行う方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。