MySQLのクラッシュの最も一般的な原因は、メモリ不足が原因で停止したか、起動に失敗したことです。 これを確認するには、クラッシュ後にMySQLエラーログを確認する必要があります。

まず、次のように入力してMySQLサーバーの起動を試みます。

  1. sudo systemctl start mysql

次に、エラーログを確認して、MySQLがクラッシュする原因を確認します。 使用できます less ログを一度に1ページずつ確認するには:

  1. sudo less /var/log/mysql/error.log

メモリの量が不十分であることを示す一般的なメッセージは次のとおりです。 Out of memory また mmap can't allocate.

不十分な量のメモリに対する潜在的な解決策は次のとおりです。

  • MySQL構成の最適化。 このための優れたオープンソースツールは、MySQLtunerです。 MySQLtunerスクリプトを実行すると、MySQL構成ファイルに推奨される一連の調整が出力されます(mysqld.cnf). MySQLTunerを使用する前にサーバーが実行されている時間が長いほど、その提案はより正確になることに注意してください。 現在の設定とMySQLTimerによって提案された設定の両方のメモリ使用量の見積もりを取得するには、この MySQLCalculatorを使用します。

  • ページの読み込みに関するWebアプリケーションのMySQLへの依存を減らす。 これは通常、アプリケーションに静的キャッシュを追加することで実行できます。 この例としては、有効にできる組み込み機能としてキャッシュを備えたJoomlaや、この種の機能を追加するWordPressプラグインである WP SuperCacheがあります。

  • より大きなVPSへのアップグレード。 MySQLデータベースを使用するサーバーには、少なくとも1GBのRAMを搭載したサーバーをお勧めしますが、データのサイズとタイプがメモリ要件に大きく影響する可能性があります。

サーバーのアップグレードは潜在的な解決策ですが、他のすべてのオプションを調査して検討した後でのみ推奨されることに注意してください。 より多くのリソースを備えたアップグレードされたサーバーも同様に多くの費用がかかるため、それが本当に最良の選択肢である場合にのみ、サイズ変更を行う必要があります。 また、MySQLのドキュメントには、クラッシュを診断および防止するための他の多くの提案が含まれていることにも注意してください。