MySQLのルートパスワードをリセットする方法
MySQLのrootパスワードを忘れることは、特にデータベースを管理するために即座にアクセスが必要な場合、非常にストレスの多い体験です。幸いなことに、サーバーへの管理者アクセスがあれば、rootパスワードをリセットするのは簡単なプロセスです。このガイドでは、LinuxとWindowsシステムの両方の手順を説明します。
前提条件
進む前に、次のことを確認してください:
システムへの管理者アクセス(rootまたはsudo権限)
シェルまたはコマンドラインアクセス(SSHまたはターミナル)
方法1: LinuxでMySQLのrootパスワードをリセットする
ステップ1: MySQLサービスを停止する
sudo systemctl stop mysqlステップ2: セーフモードでMySQLを起動する
パスワード認証なしでMySQLを起動します:
sudo mysqld_safe --skip-grant-tables &これにより、パスワードなしでMySQLにアクセスできるようになります。このモードは安全ではなく、一時的にのみ使用するべきです。
ステップ3: MySQLにアクセスする
mysql -u rootステップ4: rootパスワードを変更する
MySQLシェル内で次のコマンドを実行します:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword';MySQL 5.7またはそれ以前を使用している場合、構文が異なる場合があります:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('YourNewStrongPassword');ステップ5: 通常通りMySQLを再起動する
sudo systemctl stop mysql
sudo systemctl start mysql新しいパスワードでログインできるようになったはずです:
mysql -u root -p方法2: Windowsでrootパスワードをリセットする
ステップ1: MySQLサービスを停止する
サービス(services.msc)を開き、MySQLサービスを停止します。
ステップ2: パスワードリセットスクリプトを作成する
次の内容でテキストファイル
C:mysql-init.txtを作成します:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword';ステップ3: スクリプトでMySQLを起動する
コマンドプロンプトで次のコマンドを実行します(パスを適宜調整してください):
mysqld --init-file="C:\mysql-init.txt"起動して変更を適用した後、MySQLを停止し、サービスマネージャーを通じて通常通り再起動します。
リセット後はmysql-init.txtファイルを削除して、セキュリティリスクを避けてください。
安全なパスワード管理のためのヒント
MySQLのrootアカウントには、常に強力でユニークなパスワードを使用してください。
セキュリティを強化するために、rootユーザーのリモートアクセスを無効にすることを検討してください。
パスワードマネージャーを使用して、資格情報を安全に保存してください。
結論
MySQLのrootパスワードをリセットするのは管理可能なプロセスですが、セキュリティリスクを避けるために注意して行うべきです。頻繁にrootアクセスが必要な場合は、リスクを減らし、より良いセキュリティ衛生を維持するために、別の管理者レベルのMySQLユーザーを作成することを検討してください。


