Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Starten Sie MySQL automatisch neu, wenn Ubuntu auf der EC2-Mikroinstanz es beendet, wenn der Speicher knapp wird

Das abrupte Beenden eines Datenbankservers ist ein sehr schwerwiegender Absturz. Sie müssen dies in einem Produktionssystem vermeiden, da es möglicherweise nicht sauber neu gestartet wird.

Der Datenbankserver ist eine gemeinsam genutzte Ressource und sollte in der Produktion fast nie ungeplant beendet werden. Das einzige, was zu einer ungeplanten Beendigung führen sollte, ist ein katastrophaler Hardware- oder Stromausfall. Die meisten ordnungsgemäß konfigurierten Produktionsdatenbankserver werden alle zehn Jahre oder seltener außerplanmäßig beendet. Im Ernst.

Was tun?

Korrigieren Sie Ihre Apache-Konfiguration. Begrenzen Sie die Anzahl der Worker-Threads und Prozesse, die es verwenden kann, damit es nicht wild läuft. Erfahren Sie, wie das geht. Es ist lebenswichtig. Siehe hier:http://httpd.apache.org/docs/ current/mod/mpm_common.html#maxrequestworkers

Beheben Sie die Fehler in Ihrer Webanwendung, die dazu führen, dass Ihr Apache wild läuft.

Wenn Sie können, verschieben Sie Ihren mysqld-Server auf einen anderen Server-Rechner als Apache, damit die beiden nicht um dieselben Hardware-Ressourcen konkurrieren.

Konfigurieren Sie Ihr mysqld so, dass es die Anzahl der Verbindungen begrenzt, die es von Apache-Worker-Threads oder anderen Clients akzeptiert. Ihre Web-App bewältigt wahrscheinlich die Situation, in der ein Worker-Thread auf eine Verbindung warten muss. Siehe hier. http://dev.mysql.com /doc/refman/5.0/en/server-system-variables.html#sysvar_max_connections

Verwenden Sie eine EC2-Micro-Instance? Sie müssen ernsthaft tunen. Siehe hier:http://ubuntuforums.org/showthread.php?t=1979049