I use a MySQL database running on a Windows box, and for performance reasons I'm connecting to it using named pipes.
The (Java) application using the database (through Hibernate) can let the connection lie idle for quite a long time, which causes the connection to fail with the following message:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 33 558 297 milliseconds ago. The last packet sent successfully to the server was 33 558 297 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.
autoReconnect
unfortunately has no effect (and neither does autoReconnectForPools
), but the wait_timeout
docs state that wait_timeout
only applies "to TCP/IP and Unix socket file connections, not to connections made via named pipes, or shared memory".
How can I change the wait_timeout
for named pipes?