MySQL データベース管理を実行する場合、多くの場合、root アカウントを使用して操作する必要があります。しかし、さまざまな理由により、root アカウントのパスワードを忘れてしまうことがあり、データ管理作業に直接影響を及ぼします。では、MySQL の root パスワードを忘れた場合はどうすればよいでしょうか?
MySQL データベースでは、root パスワードを忘れた場合によくある 2 つの状況があります:
1. root パスワードを忘れたが、root アカウントの権限がある
2 root パスワードを忘れました。root 権限がありません
最初のケースでは、root アカウントのパスワードをリセットするだけで済みます。 2 番目のケースでは、パスワードをリセットする前に root 権限を取得する必要があります。以下では、これら 2 つの場合の解決策をそれぞれ紹介します。
1. root パスワードを忘れましたが、root アカウントの権限は持っています
この場合、SET PASSWORD ステートメントを使用して root アカウントのパスワードをリセットできます。
まず、MySQL サーバーに root としてログインします:
mysql -u root -p
ログイン後、次のコマンドを入力します:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
ここで、newpassword は設定する新しいパスワードです。
root アカウントが任意のホストからサーバーに接続できるようにしたい場合は、次のコマンドを使用できます:
SET PASSWORD FOR 'root'@'%' = PASSWORD( 'newpassword');
その後、新しいパスワードを使用して MySQL サーバーに再ログインできます:
mysql -u root -p newpassword
2. root を忘れた場合パスワードがあり、root 権限がありません
この場合、root パスワードを直接リセットすることはできませんが、MySQL 構成ファイルを変更することで root 権限を取得できます。以下に具体的な手順を紹介します:
1. MySQL サービスを停止します
sudo サービス mysql stop
2. sudo 権限を使用して MySQL 構成ファイル my.cnf を編集します
sudo vim /etc/mysql/my.cnf
[mysqld] セクションに次の内容を追加します:
skip-grant-tables
skip-networking
その後、保存して終了します。
3. sudo 権限を使用して MySQL サービスを開始します
sudo service mysql start
4. root として MySQL サーバーにログインします
mysql - u root
skip-grant-tables オプションを追加したため、この場合、ログイン時にパスワードは必要ありません。ログイン後、次のコマンドを使用して root パスワードをリセットできます:
UPDATE mysql.user SET authentication_string=PASSWORD('newpassword') WHERE User='root';
where newpassword新しいパスワードを設定してください。
注: MySQL 5.7.6 以降では次のコマンドが必要です:
UPDATE mysql.user SET authentication_string=PASSWORD('newpassword') WHERE User='root' AND Host= ' localhost';
更新が完了したら、認可テーブルを再度有効にし、my.cnf ファイルを再編集して、skip-grant-tables および stop-networking オプションを削除する必要があります。
5. MySQL サービスを再起動します
sudo service mysql restart
これで、新しいパスワードを使用して MySQL にログインできるようになります。
要約:
MySQL の root パスワードを忘れても心配しないでください。上記の 2 つの方法を使用して問題を解決できます。最初のケースでは、簡単なパスワード リセット操作のみが必要ですが、2 番目のケースでは、MySQL 構成ファイルを変更してサーバーを再起動する必要があります。いずれの場合も、落ち着いて手順にしっかり従うことが重要です。
以上がrootパスワードを忘れたmysqlの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。