I've been digging around the MySQL docs lately and came across something that might pertain to this problem where the mysql server on windows just seems to go away.
Windows only has about 4000 ports available, compared with around 64,000 on Linux and OSX. And it seems that the ports don't get freed up very quickly on Windows; apparently it can take 2 to 4 minutes to free up a port after it's been released.
(see the section labeled "Limited number of ports" at
http://dev.mysql.com/doc/refman/5.1/en/windows-vs-unix.html)
So it's conceivable that it would be easy to encounter a scenario where it's possible to exhaust the number of ports that the supervisor could use to connect to MySQL.
The supervisor runs a up to certain number of separate processes, limited by the value of supervisor_max_threads in the supervisor's qb.conf. Each of these threads maintains a separate connection to the MySQL server on a different port.
Each supervisor thread is also set to only service so many requests from workers and clients before it shuts down. This is set by supervisor_max_clients.
In the event that you have 1 or more jobs where the agenda items run very quickly (have a high dispatch rate) or if there is some other scenario which is causing a high rate of requests to be processed by the supervisor, you will have a lot of supervisor processes hitting their max_clients limit and shutting down, disconnecting from a port which Windows might not free up for 2 to 4 minutes. When more requests come in and there is not a free supervisor process to handle the request, and the number of supervisor processes is less than max_threads, another supervisor process is started up, which connects to MySQL on the next available port.
If this scenario continues for long enough, the number of free ports on the supervisor will eventually drop to 0, and the MySQL server will appear to be dead.
Possible solution:
One way to alleviate this problem of fast port turnover would be to increase the number of requests handled by each supervisor process.
supervisor_max_clients is 256 by default. Increasing this number to 1024 should cut down the rate of port consumption.
A side-effect of this will be that the number of supervisor processes will take longer to decrease during times of low load. This will mean that the Qube supervisor will spend a larger amount of time at its maximum memory footprint.