MySQLデータベースにアクセスするユーザーのパスワードを忘れてしまうこともあります。パスワードを忘れてしまったときは、次の手順でパスワードを再設定しましょう。
(1) パスワード確認を省略するオプションでMySQLサーバーを起動
(2) MySQLサーバーにアクセスしてパスワードを再設定
(1) パスワード確認をスキップするオプションを指定してMySQLサーバーを再起動するには、次の方法があります。
○パスワード確認を省略してMySQLサーバーを起動する方法
・「–skip-grant-tables」オプションを指定してmysqldを起動
・MySQL設定ファイル(my.ini)の[mysqld]セクションに「skip-grant-tables」と記述してMySQLサーバーを再起動
(2) MySQLサーバーが起動できたら、コマンドラインツールのmysqlからUPDATE文などでパスワードを再設定します。次の例では、kenというユーザーのパスワードを1234に変更しています。あくまでサンプルなので簡単なパスワードにしていますが、実際にはもう少し長く推測しづらいパスワードにしましょう。
○ユーザーのパスワードを変更(コマンドラインツールを使用)
C:>mysql -u root -p → コマンドラインツールを起動 Enter password: ****** … mysql> UPDATE mysql.user SET Password=PASSWORD('1234') WHERE User='ken'; → パスワードを再設定 … mysql> FLUSH PRIVILEGES; → 権限変更を反映 mysql> quit → コマンドラインツールを終了
【メモ】
・「PASSWORD(‘1234’)」では、1234をPASSWORD関数で暗号化しています。この関数を適用し忘れると、設定したパスワードでデータベースにアクセスできずに悩むことになります。
・FLUSH PRIVILEGESは、設定したパスワードを反映するためのコードです。変更したパスワードでアクセスできない場合、このコードを実行し忘れているかもしれません。
XAMPPでは、MySQLのパスワードを忘れないように覚書することもできます。詳しくは、以下の記事を参考にしてください。
XAMPP・MySQL・phpMyAdminのセキュリティ設定