in reply to mysql service and dbd::mysql

Does it happen after a lack of activity? It's possible that your wait_timeout setting for mysql is low enough the connection your program thinks is open isn't actually open.

DBD::mysql has a "reconnect" feature to work around this "morning bug". Its behaviour has changed a bit in recent releases, though, so we'll need to know more about your environment to help diagnose this. What does your connect string look like? Are you running this program stand-alone or under mod_perl (or some other environment)?

-- dug