和mysql连接超时相关的两个参数:

interactive_timeout和wait_timeout
interactive_timeout:交互式连接超时时间(mysql工具、mysqldump等)
wait_timeout:非交互式连接超时时间,默认的连接mysql api程序
MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)
最后的参数指定了客户端连接类型,默认是非交互式的

所以,我们经常mysql -uroot -p123登录数据库,设置超时参数,发现interactive_timeout总会覆盖wait_timeout,就是因为这个原因!

如果为了一般程序用,只需要设置wait_timeout即可!