Вместо того, чтобы пытаться восстановить соединение с ним после его разрыва, гораздо лучше периодически проверять его примерно за половину времени отключения в режиме ожидания (в вашем случае 4 часа), чтобы поддерживать его.
В случае сбоя проверки связи явно сбросьте соединение и переподключите.
Кроме того, вы можете добавить что-то подобное в ваш /etc/my.cnf:
[mysqld]
wait_timeout=400000
Время ожидания указывается в секундах, поэтому оно составляет около четырех с половиной дней, что достаточно для поддержания связи в течение долгих выходных, пока ваша система не используется никем.