人間ってなんでこんなに忘れっぽいんですかねー。って僕だけでしょうか?
今回はXAMPPのパスワードを忘れた場合の対処法についてです。
XAMPPのインストール後、各種パスワードを設定する際にテキストファイルとして保存するチェックボックスにチェックを入れておくとパスワードが保存され、忘れた際に確認できます。
- 本記事では「Windowsv 向け XAMPP 5.6.3 (PHP 5.6.3)」を使用しています
- XAMPPをCドライブ直下(C:¥)にインストールしている前提で話を進めます
- ローカル・ループバック・アドレス(http://localhost/とhttp://127.0.0.1/)はhttp://localhost/として説明します
- 再設定の方法も書いてありますが、自己責任でお願い致します
XAMPP セキュリティのアカウント・パスワードを忘れた場合
C:¥xampp¥security¥xamppdirpasswd.txtがある場合
http://localhost/security/にアクセスした際に必要なパスワードです。
C:¥xampp¥security¥xamppdirpasswd.txtを確認してください。
内容を見れば分かると思いますが、
XAMPP userがユーザー名で
XAMPP passwordがパスワードです。
XAMPP user = goma XAMPP password = Password1
- 私の環境ではパスワード設定後も認証画面が出てこないのですが、念のため記載しておきます
XAMPP セキュリティのアカウント・パスワードの再設定が必要な場合
一旦basic認証をオフにするため、C:¥xampp¥security¥htdocs¥.htaccessを削除します。
削除後、http://localhost/security/xamppsecurity.phpにアクセスをして「XAMPPのディレクトリ制御 (.htaccess)」の設定を行います。その際に、チェックボックスにチェックを入れて設定をしてください。
MySQL・phpMyAdminのパスワードを忘れた場合
スクリプトなどでdbに直接つなげる時やhttp://localhost/phpmyadmin/にログインするのに必要なパスワードです。
C:¥xampp¥security¥mysqlrootpasswd.txtがある場合
C:¥xampp¥security¥mysqlrootpasswd.txtを確認してください。
内容を見れば分かると思いますが、
mysql userがユーザー名で
mysql passwordがパスワードです。
mysql user = root mysql password = Password1
MySQL・phpMyAdminのパスワードの再設定が必要な場合
MySQLのパスワードをリセットする方法は他にもあるのですが、一番シンプルな方法をご紹介します。
MySQLの停止
MySQLが動いていたら止めます。C:¥xampp¥xampp-control.exeからMySQLを停止させます。
C:¥xampp¥mysql¥resetroot.batを実行
保存後、resetroot.batをダブルクリックで実行すると、コマンドプロンプトが立ち上がり自動でリセット作業をしてくれます。
「続行するには何かキーを押してください...」が表示されたら、画面を閉じてください。
resetroot.batを実行してもリセットされていない場合
resetroot.batを実行すれば、リッセットされるはずなのですが、「Windowsv 向け XAMPP 5.6.3 (PHP 5.6.3)」の環境ではうまく行きませんでした。
batを調べてみたところ、データベース構造にそぐわないクエリ文となっていたので、エラーが発生していました。修正が必要です・・・
修正方法
resetroot.batをテキストエディタで開き、下記のように編集して保存してください。
変更前
echo REPLACE INTO user VALUES ('localhost', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', ''); >>resetroot.sql echo REPLACE INTO user VALUES ('127.0.0.1', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', ''); >>resetroot.sql echo REPLACE INTO user VALUES ('localhost', 'pma', '', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0, '', ''); >>resetroot.sql
変更後
echo REPLACE INTO user VALUES ('localhost', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', '', 'N'); >>resetroot.sql echo REPLACE INTO user VALUES ('127.0.0.1', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', '', 'N'); >>resetroot.sql echo REPLACE INTO user VALUES ('localhost', 'pma', '', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0, '', '', 'N'); >>resetroot.sql
MySQLを起動
リセットが完了後、MySQLを起動させます。
XAMPP セキュリティを開き、「MySQLユーザルートにパスワードがありません」というメッセージが表示されていたらパスワードのリセットは成功です。
パスワードの再設定
パスワードがリセットされていることを確認したら、MySQLのセキュリティコンソール & XAMPPのディレクトリ制御へアクセスし、パスワードの再設定を行ってください。
パスワードが保存されるようにチェックボックスにチェックを入れておきましょう。