まず、MySQL パスワードがどのように保存されるかを理解する必要があります。 MySQL は、SHA1() 暗号化関数と Salt と呼ばれるランダム文字列を使用して、パスワードを暗号化されたハッシュ文字列として保存します。 MySQL パスワードの暗号化プロセスは元に戻すことができないため、復元できるようにするにはいくつかの特別な措置を実装する必要があります。
方法 1: root ユーザーを使用してパスワードを変更する
root 権限がある場合は、次の手順を使用してパスワードを変更できます:
1. ログインします。 root として MySQL サーバーに接続します
mysql -u root -p
2. root ユーザーのパスワードを入力します
#3. MySQL コマンド ラインを入力します4. mysql を入力します コマンド ラインを入力した後、次のコマンドを使用して root ユーザーのパスワードを変更します:mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD ('new_password');
sudo systemctl stop mysql
3. root
## として MySQL サーバーにログインします。 #mysql -u root
4. MySQL コマンド ラインを入力した後、次のコマンドを使用してパスワードを変更します:
mysql> UPDATE mysql.user SET Password= PASSWORD('new_password') WHERE User='root';
「new_password」を設定する新しいパスワードに置き換えて、MySQL コマンドの最後にセミコロンを必ず追加してください。 line;
mysql> FLUSH PRIVILEGES;
6. MySQL を終了して MySQL を再起動します
sudo systemctl start mysql
7. 新しいパスワードを使用して MySQL に再度ログインします
sudo systemctl stop mysql
2. MySQL データ ファイルを検索します
sudo find / -name "*.frm"
3. リセット スクリプトを作成します。
#!/bin/bash /usr/sbin/mysqld --skip-grant-tables --skip-networking & sleep 5s mysql -u root <<EOF UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; EOF killall mysqld sleep 5s /usr/sbin/mysqld --skip-networking &「new_password」を設定する新しいパスワードに置き換えてください。 4. スクリプトを実行して MySQL パスワードをリセットする 次のコマンドを使用して、root 権限でリセット スクリプトを実行します:
sudo bash replacemysql.sh
5. MySQL を開始します
この時点で、読者は MySQL パスワードを忘れた問題を解決する次の 2 つの方法を知っておく必要があります。root ユーザーを使用してパスワードを変更する方法と、MySQL パスワード リセット スクリプトを使用してパスワードをリセットする方法です。
以上がmysqlのパスワードを忘れた場合に修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。