Locate the timeout configuration and adjust it to fit your server.
wait_timeout = 28800 interactive_timeout = 28800
The interactive timeout does not affect any web application connections. A high
interactive_timeoutbut a low
wait_timeoutis normal and is the best practice.
Choose a reasonable
wait_timeoutvalue. Stateless PHP environments do well with a 60 second timeout or less. Stateful applications that use a connection pool (Java, .NET, etc.) will need to adjust
wait_timeoutto match their connection pool settings. The default 8 hours (
wait_timeout = 28800) works well with properly configured connection pools.
wait_timeoutto be slightly longer than the application connection pool’s expected connection lifetime. This is a good safety check.
Consider changing the
wait_timeoutvalue online. This does not require a MySQL restart, and the
wait_timeoutcan be adjusted in the running server without incurring downtime. You would issue
set global wait_timeout=60and any new sessions created would inherit this value. Be sure to preserve the setting in
my.cnf. Any existing connections will need to hit the old value of
wait_timeoutif the application abandoned the connection. If you do have reporting jobs that will do longer local processing while in a transaction, you might consider having such jobs issue
set session wait_timeout=3600upon connecting.