所以,MySQL 有wait_timeout和interactive_timeout. 默认情况下,我们使用 MySQL 连接wait_timeout。我想用于interactive_timeout与用户的连接,因此超时不会干扰用户交互。如何创建交互式连接?我当前的代码是这样的:$db_conn = mysqli_connect(HOSTNAME, DBUSERNAME, DBPASSWORD,DATABASE);
2 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
“服务器在关闭交互式连接之前等待其活动的秒数。交互式客户端定义为使用 mysql_real_connect() 的 CLIENT_INTERACTIVE 选项的客户端。
蓝山帝景
TA贡献1843条经验 获得超7个赞
即使您已经阅读了文档,也不是很清楚什么interactive_timeout
意思。
这意味着如果交互式客户端的连接空闲时间过长,连接将自动关闭。这不会干扰任何用户交互,因为如果他们正在运行查询,根据定义连接不是空闲的。
wait_timeout
和的默认值为interactive_timeout
28800 秒(8 小时)。因此,客户端除了在由于不活动而超时之前保持打开连接 8 小时外,什么都不做。这不太可能影响任何 PHP 请求,该请求在请求完成后立即关闭。
文档中也没有提到唯一使用的现有客户端interactive_timeout
是mysql command-line client。
PHP、Java、ODBC、Python、Perl 等语言的所有连接器都使用常规的wait_timeout
. 我还没有看到任何连接器可以选择使用interactive_timeout
. 编程连接器不被视为交互式,即使它们连接的应用程序接受用户输入。
即使是新的 MySQL Shell 客户端也不启用interactive_timeout
. wait_timeout
它依赖于其他客户使用的传统。
- 2 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消