MySQL は、Web サイト、アプリケーション、その他のデータ駆動型システムで広く使用されている人気のリレーショナル データベース管理システムです。ただし、MySQL データベースの管理者パスワードを忘れてしまい、管理のためにデータベースにログインできなくなる場合があります。この時点で、MySQL データベースのパスワードを回復する必要があります。
MySQL 5.6 では、パスワード ハッシュ暗号化アルゴリズムはデフォルトで sha256 を使用し、回復プロセス中にいくつかの手動操作が必要になります。この記事では、MySQL 5.6 の紛失したパスワードを回復する方法について説明します。
ステップ 1: MySQL サービスを停止する
パスワードを復元する前に、まず MySQL サービスを停止する必要があります。 Linux または macOS では、次のコマンドを使用できます:
$ sudo service mysql stop
Windows では、次のコマンドを使用できます:
> net stop mysql
ステップ 2: スプリングボード ファイルを作成する
パスワードが入力されている間回復プロセスでは、新しい管理者アカウントを作成できるように、MySQL データベースの権限システムを変更するためのスプリングボード ファイルを作成する必要があります。スプリングボード ファイルは、次のコマンドを使用して作成できます。
$ echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';" > /var/lib/mysql/mysql-init && sudo chmod 700 /var/lib/mysql/mysql-init && sudo chown mysql:mysql /var/lib/mysql/mysql-init
上記のコマンドは、新しいパスワードを newpassword
に設定します。これは、独自のパスワードに置き換えることができます。
ステップ 3: MySQL サービスを再起動する
スプリングボード ファイルが作成されたら、MySQL サービスを再起動する必要があります。 Linux または macOS では次のコマンドを使用できます:
$ sudo service mysql start
Windows では次のコマンドを使用できます:
> net start mysql
ステップ 4: MySQL サービスを実行し、スプリングボード ファイルを使用してパスワードを変更します
MySQL が再起動したら、次のコマンドを使用して MySQL サービスを実行し、スプリングボード ファイルを使用してパスワードを変更できます。
$ sudo mysqld_safe --init-file=/var/lib/mysql/mysql-init &
ここでのスプリングボード ファイルのパスは、上記のスプリングボード ファイルを作成するときに 1 セット。
実行後、MySQL コンソールに再度入ります。コンソールで、次のコマンドを使用して既存の管理者アカウントを表示できます:
mysql> SELECT User FROM mysql.user WHERE Super_priv='Y';
アカウント リストを表示した後、次のコマンドを使用して管理者アカウントのパスワードを変更できます:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
Here newpassword
は、設定する必要がある新しいパスワードを指します。
ステップ 5: パスワードの回復を完了する
パスワードを変更した後、次のコマンドを使用して、変更したパスワードが有効かどうかを確認できます:
mysql> SELECT User, Host, authentication_string FROM mysql.user;
上記は方法です。 MySQL 5.6 でパスワードを回復するため。もちろん、パスワードの再度の紛失を避けるために、MySQL データベースを定期的にバックアップするか、パスワード管理ツールを使用してデータベースのパスワードを管理することをお勧めします。
以上が失われた MySQL 5.6 パスワードを回復する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。