In a test lab, we ran into a situation where the connection between our Cisco Access Registrar (AAA) server and MySQL server was timing out. This forced the server to reconnect and resulted in the following errors:
name/radius/1 Error Server 0 ODBC client (DataSource 'my_odbc', Connection 8): SQLExecute failed: SQLState:08S01 NativeError:2006 ErrorText:[MySQL][ODBC 3.51 Driver][mysqld-5.0.21-log] MySQL server has gone away name/radius/1 Error Server 0 Service odbc has no active remote servers available
Obviously, the MySQL server was still there, but after the
wait_timeout expires, the server severs the idle connections. By default, the
wait_timeout is set to 8 hours. This is obviously much longer than is usually necessary, but in our test lab, it caused problems every morning.
The fix is to set the
KeepAliveTimerInterval in the Remote Servers configuration in Cisco Access Registrar. The value defaults to 0, which means no keep-alives are sent. When you set this value, remember that it is in milliseconds. If you forget, you are going to be send lots and lots of keep-alives to your database server!