Linux MySQL ルート パスワードを忘れた場合
Linux システムを使用して MySQL データベースをインストールする場合、通常、管理者として root ユーザーを作成します。しかし、場合によっては、root ユーザーのパスワードを忘れたり、root ユーザーとしてログインできないなどの状況に遭遇することがあります。このような状況が発生すると、データベースへのアクセス、保守、バックアップができなくなり、当社のビジネスに影響を与える可能性があります。したがって、この記事では、MySQL の root パスワードをリセットするのに役立ついくつかの解決策を紹介します。
方法 1: mysqladmin コマンド ライン ツールを使用する
mysqladmin コマンド ライン ツールは、MySQL で一般的に使用されるツールであり、一部の MySQL 管理操作を実行するために使用できます。これを使用して、root ユーザーのパスワードをリセットできます。
- まず、MySQL サービスを停止し、MySQL データベースを閉じる必要があります:
sudo systemctl stop mysql
ログイン後にコピー
- 次に、sudo 権限を使用して MySQL サービスを実行する必要があります管理コマンドを実行し、ログインできないことを避けるために認可認証をスキップします:
sudo mysqld_safe --skip-grant-tables &
ログイン後にコピー
#次に、MySQL コマンド ラインを入力する必要があります: sudo mysql -u root
ログイン後にコピー
ログイン後にコピー
これで MySQL コマンドを入力しました。次のコマンドを入力します (注: 新しいパスワードは実際の状況に応じて設定する必要があります): UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
ログイン後にコピー
In order to make the設定したばかりのパスワードが有効になるため、権限を更新する必要があります: FLUSH PRIVILEGES;
ログイン後にコピー
最後に、MySQL コマンド ラインを終了し、MySQL サービスを停止し、サービスを再起動します: exit
sudo systemctl stop mysql
sudo systemctl start mysql
ログイン後にコピー
この時点で、MySQL root パスワードのリセットに成功しました。新しいパスワードを使用して MySQL に再度ログインできます。
方法 2: mysql_secure_installation スクリプトを使用する
mysql_secure_installation スクリプトは、MySQL によって提供されるインストール ツールであり、匿名ユーザーの削除、外部 root ログインの終了、テストの削除などの MySQL セキュリティ設定を対話的に実行します。データベースなどさらに、root ユーザーのパスワードをリセットするために使用することもできます。
sudo 権限を使用してスクリプトを実行する必要があります:sudo mysql_secure_installation
ログイン後にコピー
スクリプトを実行すると、いくつかの問題が発生します。まず、匿名ユーザーを削除するオプションが表示されます。ユーザーを匿名にしておく場合は、「いいえ」を選択します。それ以外の場合は、「はい」を選択します。 次に、新しい root ユーザーのパスワードを設定するように求められます。新しいパスワードを入力して確認します。 次に、スクリプトにより、root ユーザーによるリモート ログインを禁止するかどうかを選択できます。リモートログインを許可する場合は、「いいえ」を選択します。それ以外の場合は、「はい」を選択します。 最後に、スクリプトはテスト データベースを削除するかどうかを尋ねます。テスト データベースの使用を継続する場合は、[いいえ] を選択します。それ以外の場合は、[はい] を選択してテスト データベースを削除します。
これで、mysql_secure_installation スクリプトを使用して MySQL root パスワードを正常にリセットし、いくつかのセキュリティ設定を行うことができました。新しいパスワードを使用して MySQL に再度ログインできます。
方法 3: データベース ファイルからパスワードを回復する
上記の 2 つの方法が機能しない場合は、データベース ファイルからパスワードを回復してみてください。ただし、この方法には一定のリスクがあり、データの損失やデータベース構造の損傷が発生する可能性があります。したがって、慎重に作業を進め、データベースを確実にバックアップする必要があります。
MySQL サービスを停止し、データベース ファイルをバックアップします: sudo systemctl stop mysql
sudo cp -a /var/lib/mysql /var/lib/mysql.bak
ログイン後にコピー
MySQL 構成ファイルを編集し、次の行を追加します: skip-grant-tables
ログイン後にコピー
sudo nano /etc/mysql/my.cnf
ログイン後にコピー
ログイン後にコピー
保存して終了します。
ここで、sudo 権限を持つユーザーとして MySQL サービスを開始する必要があります: sudo mysqld_safe &
ログイン後にコピー
次に、次のコマンドを使用して MySQL サービスに入ることができます。コマンド ライン: sudo mysql -u root
ログイン後にコピー
ログイン後にコピー
次に、MySQL データベース テーブルをチェックして修復する必要があります: mysql> use mysql;
mysql> repair table user;
mysql> exit
ログイン後にコピー
この時点で、次の入力は完了しました。 MySQL コマンドライン。次のコマンドを使用して、root ユーザーのパスワードをリセットできます (注: 新しいパスワードは実際の状況に応じて設定する必要があります): mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit
ログイン後にコピー
最後に、MySQL を停止する必要があります。ファイル: sudo nano /etc/mysql/my.cnf
ログイン後にコピー
ログイン後にコピー
skip-grant-tables 行を削除し、保存して終了します。
sudo systemctl stop mysql
sudo systemctl start mysql
ログイン後にコピー
この時点で、データベース ファイルから MySQL root パスワードを正常に回復しました。新しいパスワードを使用して MySQL に再度ログインできます。
概要
Linux MySQL データベースを使用しているときに、root パスワードを忘れたり、ログインできない状況が発生した場合は、上記の 3 つの方法を使用してパスワードをリセットできます。ただし、これらの方法には一定のリスクがあるため、データベースをバックアップしたことを確認し、慎重に操作してください。また、データベースのセキュリティを強化するために、強力なパスワードを設定し、パスワードを定期的に変更することをお勧めします。
以上がLinux mysqlがrootパスワードを忘れてしまいましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。