Ещё вариант. Если cron-задача запускается под пользователем, у которого есть права на чтение файла /var/run/mysqld/mysqld.pid (это где демон mysql хранит свой PID, у вас может быть по другому адресу) - то можно проверять наличие файла, читать из него PID, и проверять существование такого процесса через posix_getpgid($PID) или file_exists("/proc/{$PID}").
Но лучше исправить подключение к базе данных, что бы подключалось в цикле, с проверкой результата подключения, и с паузой в десяток секунд.
А самое элементарное: в начале приведённого файла - sleep(300).