Meine einfältige (ISAM, keine Transaktionen) App in C-Sprache läuft acht Stunden am Tag und aktualisiert mehrere Tabellen in einer Datenbank über eine einzige MySQL-Verbindung, die die ganze Zeit geöffnet bleibt. Es funktioniert gut. Jedes Mal, wenn ein MySQL-Fehler auftritt (nicht nur der Server ist weg), ruft der Code einfach mysql_real_connect() erneut auf und es wird ohne Probleme sofort gestartet. Reconnection ist einer der Orte, an denen MySQL meiner Meinung nach einwandfrei funktioniert.
Aber es gibt viele Kontroversen und Diskussionen über das Gute/Schlechte von dauerhaften Verbindungen. Einige davon finden Sie hier: