皆さんこんにちは。この投稿では、MySQL 8.0 にアップグレードすると開始されない MySQL 8.0 に対処するためのチュートリアルを共有したいと思います
このエラーは、Laragon アプリケーションで MySQL 5.1.72 から MySQL 8.0.32 にアップグレードしたときに発生しました。
Laragon アプリケーションで All を起動すると、次のようなエラーが発生します。
Laragon での MySQL 8.0 エラー
次に、C:Laragondatamysql-8mysqld.log
にあるログ ファイルを確認しました。そこで次のようなエラーを見つけました
mysqld: Table 'mysql.plugin' doesn't exist 2023-02-16T23:34:54.041942Z 0 [ERROR] [MY-010735] [Server] Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.
それとは別に、次のようなエラーも見つけました
2023-02-16T23:34:54.460889Z 0 [ERROR] [MY-010326] [Server] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 2023-02-16T23:34:54.462984Z 0 [ERROR] [MY-010952] [Server] The privilege system failed to initialize correctly. For complete instructions on how to upgrade MySQL to a new version please see the 'Upgrading MySQL' section from the MySQL manual.
このエラーから、私が行ったアップグレードプロセスが間違っていたことは明らかです。 最初に MySQL 8.0 を初期化しなかったため、MySQL 8.0 が必要なテーブルを見つけられなかったというエラーが発生しました。
それでは、解決策として、MySQL サーバーを起動する前に、まず MySQL 8.0 を起動することになります。
Windows でコマンド プロンプトを開き、次のコマンドを実行します
mysqld --initialize-insecure
実際には 2 つのオプションがあり、1 つ目は –initialize を使用し、2 つ目は –initialize-insecure を使用します。唯一の違いは、root アカウントのパスワードです。最初のオプションでは、一時的なランダムなパスワードが生成されます。 2 番目のオプションでは、root アカウントにはパスワードがありませんが、後で root のパスワードを設定できます。
これで、MySQL 8.0 を開始するプロセスが完了しました。ここで、MySQL 8.0 を開始できるか、エラーなしでサーバーを実行できるはずです。
2 番目のオプションを使用したため、root アカウントにはパスワードがなく、パスワードを使用せずに簡単にアクセスできることを意味します。ローカル コンピューター上にある場合でも、Web 開発のニーズも高速化されるため、それでも問題はありません。
しかし、友達が root アカウントのパスワードを追加したい場合は、非常に簡単です。
まず次のコマンドを実行して、MySQL コマンドラインに入ります。
mysql -u root
ログイン後、次のコマンドを実行します。最後のセミコロンを忘れないでください。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password_baru_untuk_root';
new_password_for_root を希望のパスワードに変更します。次に入力してください。
次に、コマンド exit を実行して、MySQL コマンド ラインを終了します。次に、次のコマンドを実行します。次に、前に作成した新しいパスワードを入力します。
mysql -u root -p
頑張ってください?
以上がSolusi MySQL エラーが開始できないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。