初期化ファイルを使用できます。root パスワードのリセット方法に関する MySQL の公式ドキュメントを確認してください(代替ソリューションのコメントを含む)。
したがって、基本的には init ファイルを使用して、アクセスを修正するために必要な SQL クエリ ( 、 、 など) を init ファイル (任意のファイル) に追加GRAND
できCREATE
ますFLUSH PRIVILEGES
。
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 root@localhost |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
以下も参照してください。