Met4licのあけくれ帖

日常とか、勉強したこととかいろいろ書いていくつもりのブログです

xamppでaccess deniedになってあたふたした話

今学校でMySQLを勉強しているのですが、それよりも前に一応サーバとかに関して知識をつけておこうとしていろいろ自分で調べながらXamppやApacheを弄り回したことがあって、そこで設定していたことが原因で、授業で作ってたフォルダー等にアクセスできなかったので、忘れないようにメモとして残しておきます。

参考にしたのはこのサイト:
XAMPP:XAMPPのパスワードを忘れた時の対処法 | ARTICLE | goma


Xamppに設定されていたパスワード等をリセットする方法

リセットするだけならxampp\security\htdocs\にアクセスしてこのディレクトリ内の.htaccessを削除します。これだけで、パスワードなしでrootユーザでログインできるようになります。

が、この状態はほんとは非常に危険なので、きちんとあとでユーザとパスワードを設定しておくのをお勧めします。

また、MySQLに設定したパスワードをリセットする際はまた以下の操作が必要になります。

MySQLに設定されていたパスワード等をリセットする方法

とりあえず、MySQLが起動しているなら停止します。

その後xampp\mysql\resetroot.batを実行します。

僕はWindowsユーザなのですが、これだけではダメだったので、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

こう変更しました(参考サイトのままですが、写し間違ってる可能性もあるので、参考サイトに飛んだほうが早いと思います)。
で、再度resetroot.batを実行。

これでMySQLにもパスワードなしでrootユーザでアクセスできるようになりました。

再度言いますが、この状態は本当に危険なので、後で必ずパスワードを設定しておきましょう。

まぁ、外に公開しないならそんなに、な気もしますけど、やっぱりね、何かあってからでは遅いので。。。

終わります。