MySQL Workbench设置会话超时仍30秒中断,如何延长查询执行超时?
解决MySQL Workbench查询超时(Error Code: 2013)的有效方法
针对你在测试时间函数时遇到的30秒连接超时问题,可从客户端(Workbench)和服务器端两方面调整:
一、修改MySQL Workbench自身的超时设置
Workbench自带独立的客户端超时配置,这是导致你设置服务器会话变量后仍超时的核心原因:
- 打开Workbench,点击目标连接旁的「Edit Connection」
- 切换到「Advanced」标签页,找到
Connect Timeout和Wait Timeout,将数值改为80(大于你的SLEEP时长70秒) - 打开「Edit」→「Preferences」→「SQL Editor」,修改以下两项为80秒:
DBMS connection read time out (in seconds)DBMS connection write time out (in seconds)
二、补充配置服务器端会话变量
除了你已设置的变量,还需覆盖MySQLX相关超时(你已发现这类变量值为30),在查询前新增:
SET SESSION mysqlx_wait_timeout = 75; SET SESSION mysqlx_interactive_timeout = 75;
执行前可先通过SELECT CONNECTION_TYPE();确认当前连接协议:
- 若返回
TCP/IP,则传统超时变量生效,MySQLX变量可忽略 - 若返回
mysqlx,则必须修改上述MySQLX变量
三、验证与替代测试
- 执行
SHOW SESSION VARIABLES LIKE '%timeout%';确认所有相关超时变量已设置为75及以上 - 若Workbench仍有问题,可改用MySQL命令行客户端(
mysql)执行测试,排除客户端自身限制
内容的提问来源于stack exchange,提问作者Han Han
相关产品推荐
相关产品推荐

