initファイルを使用できます。 ルートパスワードをリセットする方法<に関するMySQLの公式ドキュメントを確認してください。 / a> (代替ソリューションのコメントを含む)。
したがって、基本的にinitファイルを使用して、アクセスを修正するために必要なSQLクエリ(GRAND
など)を追加できます。 、CREATE
、FLUSH PRIVILEGES
など)をinitファイル(任意のファイル)に入れます。
これがrootアカウントを回復する私の例です:
echo "CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';" > your_init_file.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;" >> your_init_file.sql
echo "FLUSH PRIVILEGES;" >> your_init_file.sql
ファイルを作成したら、次のコマンドを実行できます。
killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql
次に、これが機能したかどうかを確認するには、 Ctrl + Zを押します。 次のように入力します:bg
フォアグラウンドからバックグラウンドにプロセスを実行するには、次の方法でアクセスを確認します。
mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
参照: