【问题标题】:Same query times out - Lost connection to MySQL server during query相同的查询超时 - 查询期间与 MySQL 服务器的连接丢失
【发布时间】:2016-04-05 18:16:24
【问题描述】:

我知道这个问题以前在这里被问过,但似乎我已经尝试了this answerthis answer 中建议的所有内容,但仍然没有运气。我正在尝试在 Windows 10 客户端上使用 MySQL Workbench 6.3,连接到由 GoDaddy/cPanel 托管的 Linux MySQL 服务器。

我可以毫无问题地连接到 MySQL 服务器,而且通常我有时间运行一两个查询。然后,在 Workbench 和服务器之间不活动的一分钟内,我会遇到Error 2013: Lost connection to MySQL server during query. 这甚至发生在运行完全相同的查询时,间隔大约一分钟,如此处所示(即使原始查询很快; 仅需 0.03 秒即可运行):

当我在连接到 MySQL 服务器后立即运行 select sleep(60) 时,同样的问题仍然存在;连接通常在查询执行后 30-40 秒之间丢失:

我检查了MySQL docs,但没有运气。正如其他人所建议的那样,我认为问题与数据包大小无关(因为相同的查询会起作用,但稍后会失败),而且我的 Workbench 超时设置看起来还不错:

有人知道吗?我唯一能想到的另一件事可能是 MySQL 文档中列出的 wait_timeout 变量也需要增加,但我想这将在服务器端的某个地方(有些人提到了my.ini),我不能在 cPanel 托管管理界面中查找任何 MySQL 服务器文件的位置。有一个通过 cPanel 提供的 MySQL 在线客户端(我认为是 phpMyAdmin),但它几乎没有那么健壮并且使用起来变得很麻烦。任何帮助将不胜感激!

【问题讨论】:

  • 这可能是服务器端连接超时,这对 go daddy 来说是有意义的:否则如果每个人都像你一样打开连接,他们很快就会用完连接槽。它们需要空闲连接快速终止,否则它们很快就会消耗大量资源。

标签: mysql database mysql-workbench


【解决方案1】:

我遇到了同样的问题,在 Win10 上使用 MySQL Workbench 6.3.6 连接到共享主机系统 (Arvixe) 上的 MySQL 服务器。

除了 OP 描述的问题(丢失与服务器的连接),我在尝试从之前的导出中导入数据时也遇到了错误(类似于 here 中描述的):

未处理的异常:查询安全信息时出错:执行 'SELECT * FROM mysql.user WHERE user = '[username]' and Host = '[host]' ORDER BY User, Host' SELECT 命令拒绝用户 '[username ]'@'[host]' for table 'user' SQL Error: 1142

显然,MySQL Workbench 6.3.5 (bug report) 中引入了一个错误。来自错误报告:

如果与对 mysql 架构没有权限的用户连接,就会出现问题。

换句话说:用户连接到共享主机系统。

建议的解决方案是卸载 MySQL Workbench 6.3.6,然后安装 6.3.4。 (6.3.4 可以在archives 中找到)。这个解决方案对我有用。

【讨论】:

    猜你喜欢
    • 2015-11-22
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2012-11-15
    • 2020-07-11
    • 2020-12-05
    • 1970-01-01
    • 2015-06-27
    相关资源
    最近更新 更多