<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>蓝色数据 &#187; proftpd</title>
	<atom:link href="http://bluedata.org/tag/proftpd/feed/" rel="self" type="application/rss+xml" />
	<link>http://bluedata.org</link>
	<description>奋斗是幸福的……</description>
	<lastBuildDate>Mon, 14 Sep 2009 01:53:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ProFTPD &amp; MySQL 4.0 的超时中断连接问题</title>
		<link>http://bluedata.org/2006/05/18/proftpd-mysql-timeout/</link>
		<comments>http://bluedata.org/2006/05/18/proftpd-mysql-timeout/#comments</comments>
		<pubDate>Thu, 18 May 2006 14:57:28 +0000</pubDate>
		<dc:creator>Bluedata</dc:creator>
				<category><![CDATA[应用技术]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[proftpd]]></category>
		<category><![CDATA[timeoutidle]]></category>

		<guid isPermaLink="false">http://blog.bluedata.org/proftpd-mysql-timeout/</guid>
		<description><![CDATA[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 时间同一值后解决问题。
]]></description>
			<content:encoded><![CDATA[<p>MySQL 的 interactive timeout 缺省设置为 28800 秒，这个值实在太大了，根据程序与数据库交互的状况把这个值改小了，结果使用 MySQL 4.0 的 ProFTPD 频繁断线。<br />
SHOW PROCESSLIST;<br />
发现操作 ProFTPD 数据库进程的运行时间在不停增加，直到达到 interactive timeout 参数定义的时间后才断开，这时，客户端与 ProFTPD 的连接也就断开了。<br />
 <br />
其它使用 MySQL 4.1 的 ProFTPD 没有这样的问题，看不到操作 ProFTPD 数据库的进程。（ProFTPD 的版本都是相同的）<br />
 <br />
也就是说，ProFTPD 使用 MySQL 4.0 验证用户时是建立的“持久”连接，只要客户端有操作就会去查询数据库，对客户端身份进行验证；而在使用 MySQL 4.1 时，只是在登陆时查询数据库验证身份，成功登陆后便由 ProFTPD 自己维护这个 session ，不再查询数据库了。<br />
 <br />
修改 MySQL 4.0 的  interactive timeout ，改为和 ProFTPD 设定的 TimeoutIdle 时间同一值后解决问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://bluedata.org/2006/05/18/proftpd-mysql-timeout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
