Comment traiter les pannes dans MySQL

Note

La cause la plus fréquente de crashes dans MySQL est son arrêt ou son échec de démarrage en raison d'une mémoire insuffisante. Pour vérifier cela, vous devrez consulter le journal des erreurs MySQL après un crash.

Tout d’abord, essayez de démarrer le serveur MySQL en tapant:

sudo systemctl start mysql

Consultez ensuite les journaux d’erreurs pour savoir ce qui cause le blocage de MySQL. Vous pouvez utiliserless pour consulter vos journaux, une page à la fois:

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

Certains messages courants qui indiqueraient une quantité insuffisante de mémoire sontOut of memory oummap can't allocate.

Les solutions potentielles à une quantité de mémoire insuffisante sont les suivantes:

  • Optimizing your MySQL configuration. Un excellent outil open-source pour cela estMySQLtuner. L'exécution du script MySQLtuner produira un ensemble d'ajustements recommandés dans votre fichier de configuration MySQL (mysqld.cnf). Notez que plus votre serveur a fonctionné longtemps avant d’utiliser MySQLTuner, plus ses suggestions seront précises. Pour obtenir une estimation de l'utilisation de la mémoire de vos paramètres actuels et de ceux proposés par MySQLTimer, utilisez ceMySQL Calculator.

  • Reducing your web application’s reliance on MySQL for page loads. Cela peut généralement être fait en ajoutant une mise en cache statique à votre application. Des exemples pour cela incluent Joomla, qui a la mise en cache comme fonctionnalité intégrée qui peut être activée, etWP Super Cache, un plugin WordPress qui ajoute ce type de fonctionnalité.

  • Upgrading to a larger VPS. Au minimum, nous recommandons un serveur avec au moins 1 Go de RAM pour tout serveur utilisant une base de données MySQL, mais la taille et le type de vos données peuvent affecter de manière significative les besoins en mémoire.

Notez que même si la mise à niveau de votre serveur est une solution potentielle, elle est recommandée uniquement après avoir étudié et pesé toutes vos autres options. Un serveur mis à niveau avec plus de ressources coûtera également plus cher. Vous ne devez donc redimensionner que s'il s'avère vraiment être votre meilleure option. Notez également que la documentation MySQL incluta number of other suggestions pour diagnostiquer et prévenir les plantages.