Fanly

Fanly

一个摸爬打滚于 IT 互联网的追梦人!

宝塔パネルのMySQLデータベースが起動しない問題の解決方法

もしあなたも宝塔面板を使用していて、ちょうどMySQLが起動できない状況に遭遇したなら、あなたはおそらく宝塔面板の MySQL 管理の「性能調整」機能を使用しているのだと思います。実際、私はここで何度もつまずいてきましたので、今日は解決策を簡単に共有したいと思います。

eff48a14d671310c348850bbd9aa721b_MySQL-8

宝塔面板の MySQL データベースが起動できないまたは再起動に失敗する主な問題は、query_cache_type、query_cache_size パラメータが原因です。MySQL 5.6 ではデフォルトで Query Cache が無効になっていますが、設定はサポートされています。MySQL 5.7 でも Query Cache は引き続きサポートされていますが、デフォルト値は無効に設定されています。MySQL 8.0.0 バージョンからは query_cache_type、query_cache_size および全体の Query Cache 機能が削除されました。つまり、MySQL 8.0 以降、Query Cache は完全に廃止されました。

したがって、あなたの MySQL データバージョンが 8.x.x 以上であり、宝塔面板の MySQL 管理の最適化プランで調整を行った場合、おそらく MySQL が起動できない原因となっています。解決策は、query_cache_size を 0 に設定し、query_cache_type に関連する設定をコメントアウトすることです。

ea98222f33bdd557a59cdb8c20b40214_MySQL-query_cache_size

まず、性能調整を通じて query_cache_size を 0 に設定し、その後、設定変更の中で query_cache_type の前に井号を加えてコメントアウトします。実際には削除しても構いませんが、念のため「query_cache」で始まるものはすべてコメントアウトしておくと良いでしょう。最後にサービスを起動すれば、おそらく問題なく動作するはずです。

f071767661ae677d1b15656b5a3f2fcd_MySQL-query_cache_type

Query Cache は、クエリ結果をキャッシュするためのメカニズムであり、読み取り性能を向上させることができます。しかし、データベースの現代化の進展と他のキャッシュ戦略(アプリケーションレイヤーキャッシュ、Redis、Memcached など)の普及に伴い、Query Cache の限界が徐々に明らかになっています。Query Cache の実装はグローバルロックに依存しており、書き込み操作のたびにキャッシュが無効になり、並行性能が低下します。データテーブルの各更新は関連キャッシュをクリアし、頻繁に更新されるテーブルは Query Cache の効果を損なう可能性があります。

プロジェクトが MySQL 8.0 またはそれ以上のバージョンにアップグレードされ、元々Query Cache に依存していた場合は、RedisMemcachedまたは他のインメモリデータベースを使用してクエリ結果をキャッシュすることを検討するか、コード内でキャッシュの更新と無効化のロジックを管理し、インデックスを追加・最適化し、適切なクエリの書き換え技術を使用し、アプリケーション内で特定のクエリ結果をメモリに保存することができます。これらの方法は、現代のデータベースのニーズにより適応し、Query Cache の欠点を回避することができます。

特に明記されていない限り、すべて泪雪ブログのオリジナル記事であり、あらゆる形式の転載を禁止します。

この記事のリンク:https://zhangzifan.com/bt-mysql-restart.html

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。