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

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