- 无法运行任何查询(错误代码2013:在查询期间丢失到MySQL服务器的连接)
- 尝试浏览数据库中的表时,会收到"无法获取表"、"无法获取视图"等消息
- 刷新左侧面板时,会提示"错误代码:2006 MySQL服务器已关闭"
我也尝试了这个:MySQL工作台:如何保持连接的活动状态,但没有改变任何东西。 在我的Workbench首选项标签中,我有以下设置:
- DBMS连接保持活动间隔时间(以秒为单位):600
- DBMS连接读取超时时间(以秒为单位):600
- DBMS连接超时时间(以秒为单位):60
前往“编辑”→“首选项”→“SQL编辑器”,您会看到:
DBMS connection keep-alive interval (in seconds): 600
DBMS connection read time out (in seconds): 600
DBMS connection time out (in seconds): 60
数据库管理系统连接保持活跃间隔是指Workbench向服务器发送保持活跃请求的频率。
由于5分钟等于300秒,设置DBMS连接保持活跃间隔 < 300(例如250)
这意味着“每250秒发送一次保持活跃请求”。 点击确定。
然后退出MySQL Workbench并重新启动它以使更改生效。
如果您使用标准TCP / IP通过SSH连接方法,则还可以配置ssh ServerAliveInterval。
这个 bug 存在于 MySQL Workbench 6.0 之后的所有版本中(目前为止:6.1、6.2 和 6.3 都有该 bug)。
降级到 MySQL Workbench 6.0.x 看来是解决这个问题的唯一方法。
下载 MySQL Workbench 6.0.x:http://dev.mysql.com/downloads/workbench/6.0.html
FWIW: 根据Kosh的建议,我将设置更改如下,并且似乎已经解决了在Ubuntu 16上运行的WB 6.3中出现的问题:
DBMS connection keep-alive interval (in seconds): 60
DBMS connection read time out (in seconds): 60
DBMS connection time out (in seconds): 30
按下 i 键(插入到文件中) net.ipv4.tcp_keepalive_time = 120(在文件底部添加此行) :wq(保存并退出)
Kosh Very 是正确的答案。 对于无法使其正常工作的任何人,这里是另一种解决方案:
当我需要更改一个巨大的表(删除或添加列等)时,是通过终端运行查询:
连接 :mysql -u myusername -p
会要求输入密码
ALTER TABLE mydb.mytable DROP COLUMN mycol;
修改
my.ini
文件中的max_allowed_packet。(路径:C:\ProgramData\MySQL\MySQL Server 5.6)max_allowed_packet=16M
完成后重新启动MySQL服务。