MySQLのクラッシュに対処する方法

Note

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

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

sudo systemctl start mysql

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

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

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

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

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

  • Reducing your web application’s reliance on MySQL for page loads。 これは通常、静的キャッシュをアプリケーションに追加することで実行できます。 この例としては、有効にできる組み込み機能としてキャッシュを備えたJoomlaや、この種の機能を追加するWordPressプラグインであるWP Super Cacheがあります。

  • Upgrading to a larger VPS。 MySQLデータベースを使用するサーバーには少なくとも1GBのRAMを搭載したサーバーを推奨しますが、データのサイズとタイプはメモリ要件に大きく影響する可能性があります。

サーバーのアップグレードは潜在的なソリューションですが、他のすべてのオプションを調査して検討した後にのみお勧めします。 リソースを増やしてアップグレードしたサーバーも同様に費用がかかるため、本当に最適なオプションである場合にのみサイズ変更を行う必要があります。 また、MySQLのドキュメントには、クラッシュを診断および防止するためのa number of other suggestionsが含まれていることに注意してください。

Related