Linux mysqlがrootパスワードを忘れてしまいました

王林
リリース: 2023-05-23 10:02:36
オリジナル
2402 人が閲覧しました

Linux MySQL ルート パスワードを忘れた場合

Linux システムを使用して MySQL データベースをインストールする場合、通常、管理者として root ユーザーを作成します。しかし、場合によっては、root ユーザーのパスワードを忘れたり、root ユーザーとしてログインできないなどの状況に遭遇することがあります。このような状況が発生すると、データベースへのアクセス、保守、バックアップができなくなり、当社のビジネスに影響を与える可能性があります。したがって、この記事では、MySQL の root パスワードをリセットするのに役立ついくつかの解決策を紹介します。

方法 1: mysqladmin コマンド ライン ツールを使用する

mysqladmin コマンド ライン ツールは、MySQL で一般的に使用されるツールであり、一部の MySQL 管理操作を実行するために使用できます。これを使用して、root ユーザーのパスワードをリセットできます。

  1. まず、MySQL サービスを停止し、MySQL データベースを閉じる必要があります:
sudo systemctl stop mysql
ログイン後にコピー
  1. 次に、sudo 権限を使用して MySQL サービスを実行する必要があります管理コマンドを実行し、ログインできないことを避けるために認可認証をスキップします:
sudo mysqld_safe --skip-grant-tables &
ログイン後にコピー
    #次に、MySQL コマンド ラインを入力する必要があります:
  1. sudo mysql -u root
    ログイン後にコピー
    ログイン後にコピー
    これで MySQL コマンドを入力しました。次のコマンドを入力します (注: 新しいパスワードは実際の状況に応じて設定する必要があります):
  1. UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    ログイン後にコピー
    In order to make the設定したばかりのパスワードが有効になるため、権限を更新する必要があります:
  1. FLUSH PRIVILEGES;
    ログイン後にコピー
    最後に、MySQL コマンド ラインを終了し、MySQL サービスを停止し、サービスを再起動します:
  1. exit
    sudo systemctl stop mysql
    sudo systemctl start mysql
    ログイン後にコピー
この時点で、MySQL root パスワードのリセットに成功しました。新しいパスワードを使用して MySQL に再度ログインできます。

方法 2: mysql_secure_installation スクリプトを使用する

mysql_secure_installation スクリプトは、MySQL によって提供されるインストール ツールであり、匿名ユーザーの削除、外部 root ログインの終了、テストの削除などの MySQL セキュリティ設定を対話的に実行します。データベースなどさらに、root ユーザーのパスワードをリセットするために使用することもできます。

    sudo 権限を使用してスクリプトを実行する必要があります:
  1. sudo mysql_secure_installation
    ログイン後にコピー
    スクリプトを実行すると、いくつかの問題が発生します。まず、匿名ユーザーを削除するオプションが表示されます。ユーザーを匿名にしておく場合は、「いいえ」を選択します。それ以外の場合は、「はい」を選択します。
  1. 次に、新しい root ユーザーのパスワードを設定するように求められます。新しいパスワードを入力して確認します。
  2. 次に、スクリプトにより、root ユーザーによるリモート ログインを禁止するかどうかを選択できます。リモートログインを許可する場合は、「いいえ」を選択します。それ以外の場合は、「はい」を選択します。
  3. 最後に、スクリプトはテスト データベースを削除するかどうかを尋ねます。テスト データベースの使用を継続する場合は、[いいえ] を選択します。それ以外の場合は、[はい] を選択してテスト データベースを削除します。
これで、mysql_secure_installation スクリプトを使用して MySQL root パスワードを正常にリセットし、いくつかのセキュリティ設定を行うことができました。新しいパスワードを使用して MySQL に再度ログインできます。

方法 3: データベース ファイルからパスワードを回復する

上記の 2 つの方法が機能しない場合は、データベース ファイルからパスワードを回復してみてください。ただし、この方法には一定のリスクがあり、データの損失やデータベース構造の損傷が発生する可能性があります。したがって、慎重に作業を進め、データベースを確実にバックアップする必要があります。

    MySQL サービスを停止し、データベース ファイルをバックアップします:
  1. sudo systemctl stop mysql
    sudo cp -a /var/lib/mysql /var/lib/mysql.bak
    ログイン後にコピー
    MySQL 構成ファイルを編集し、次の行を追加します:
  1. skip-grant-tables
    ログイン後にコピー
    sudo nano /etc/mysql/my.cnf
    ログイン後にコピー
    ログイン後にコピー
保存して終了します。

    ここで、sudo 権限を持つユーザーとして MySQL サービスを開始する必要があります:
  1. sudo mysqld_safe &
    ログイン後にコピー
    次に、次のコマンドを使用して MySQL サービスに入ることができます。コマンド ライン:
  1. sudo mysql -u root
    ログイン後にコピー
    ログイン後にコピー
    次に、MySQL データベース テーブルをチェックして修復する必要があります:
  1. mysql> use mysql;
    mysql> repair table user;
    mysql> exit
    ログイン後にコピー
    この時点で、次の入力は完了しました。 MySQL コマンドライン。次のコマンドを使用して、root ユーザーのパスワードをリセットできます (注: 新しいパスワードは実際の状況に応じて設定する必要があります):
  1. mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    mysql> exit
    ログイン後にコピー
    最後に、MySQL を停止する必要があります。ファイル:
  1. 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート