MySQLのルートパスワードを紛失したり忘れたりした場合は、リセットする必要がある場合があります。 MySQLは既存のパスワードをユーザーテーブルに保存します。同じパスワードを更新するには、MySQL認証をバイパスする必要があります。
-skip-grant-tablesを使用してMySQLルートパスワードをリセットするには、次の手順を参照してください。
- SSHを使用してサーバーにログインします。
- 以下のコマンドを使用してMySQLサービスを停止します。
# systemctl stop mysqld.service
- 以下のコマンドを実行して、MySQL認証をバイパスします。
# mysqld --skip-grant-tables --user=mysql &
- 今すぐMySQLにログインすると、パスワードの入力を求められません。
# mysql -u root
- 以下のコマンドを使用して、すべての付与を再読み込みします。
# FLUSH PRIVILEGES;
- 以下のクエリを実行して、rootパスワードを変更します。 new_passwordを更新したパスワードに変更してください。
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';
- 次のコマンドを使用してMySQLサービスを停止および開始します。
# systemctl stop mysqld.service# systemctl start mysqld.service
- ここで、新しいパスワードを確認してください。問題なくログインできます。
# mysql -u root -p
# FLUSH PRIVILEGES;