Вы должны точно проанализировать, в чем проблема. Соединения MySQL должны со временем прерваться, если сервер пропал; Протоколы поддержки TCP обычно включены. Возможно, вы сможете настроить тайм-ауты TCP на уровне ОС.
Если база данных «ненадежная», то вам определенно необходимо выяснить, как это сделать. Кажется маловероятным, что база данных действительно является проблемой, более вероятно, что сеть между ними.
Если вы используете (некоторые) брандмауэры с сохранением состояния любого рода, возможно, что они теряют часть состояния, что приводит к потере других хороших долгоживущих соединений.
Возможно, вы захотите рассмотреть возможность изменения параметра времени ожидания в MySQL; в противном случае долгоживущее неиспользуемое соединение может «устареть», когда сервер и клиент считают, что оно все еще живо, но какой-то промежуточный сетевой элемент «забыл» о TCP-соединении. Приложение, пытающееся использовать такое «устаревшее» соединение, будет долго ждать, пока не получит ошибку (но в конечном итоге это должно произойти).