ProFTPD & MySQL 4.0 的超时中断连接问题

2006-05-18,星期四 | 分类:FTP, MySQL | 标签: | 486 Views

MySQL 的 interactive timeout 缺省设置为 28800 秒,这个值实在太大了,根据程序与数据库交互的状况把这个值改小了,结果使用 MySQL 4.0 的 ProFTPD 频繁断线。
SHOW PROCESSLIST;
发现操作 ProFTPD 数据库进程的运行时间在不停增加,直到达到 interactive timeout 参数定义的时间后才断开,这时,客户端与 ProFTPD 的连接也就断开了。
 
其它使用 MySQL 4.1 的 ProFTPD 没有这样的问题,看不到操作 ProFTPD 数据库的进程。(ProFTPD 的版本都是相同的)
 
也就是说,ProFTPD 使用 MySQL 4.0 验证用户时是建立的“持久”连接,只要客户端有操作就会去查询数据库,对客户端身份进行验证;而在使用 MySQL 4.1 时,只是在登陆时查询数据库验证身份,成功登陆后便由 ProFTPD 自己维护这个 session ,不再查询数据库了。
 
修改 MySQL 4.0 的  interactive timeout ,改为和 ProFTPD 设定的 TimeoutIdle 时间同一值后解决问题。