Ubuntu MySQL工作台在编辑长查询时永远冻结

MySQL workbench freezes during long query editing forever


问题

我有很长的查询文本(约50行)。最近,MySQL工作环境出现了奇怪的行为。当编辑查询时(我打开它,我编辑一个字符,想继续下一个),它永远冻结了。

我怀疑这可能是与内存有关的东西?我看到在偏好中,有一个默认值 maximum query length to store in history in bytes ,这个默认值: 65536 。这有关系吗?你有什么建议?

我的设备运行的是Ubuntu 18.04,工作台是8.0版本,这是最新的。我使用: cleanautoclean 命令清理了临时文件,但没有希望。

请帮助我如何克服这个问题。我知道,当我在文本编辑器中编辑查询时,我没有遇到这个问题。只是当我使用工作台编辑器的时候。但使用外部编辑器是不现实的。

我也试着重新启动和关闭我的设备,并再次打开数据库连接。

如果你需要日志,请指定步骤为你得到它。

答案1

不是答案,但它可以帮助你调试是否是内存问题

1.- 从终端窗口打开mysql-workbench,用 mysql-workbench --log-level=debug3 -v

2.- 打开第二个终端,运行这个命令来监控内存并设置一个基线,它将每2秒自动更新一次(单位:GB)

while true; do ps aux | grep 'mysql-workbench-bin' | grep -v -E 'grep|catchsegv' |  awk '{$5=int(100 * $5/1024/1024)/100"GB";}{ print;}' | awk '{print $5" "$11}'; sleep 2; done

它将输出类似这样的内容 0.93GB /usr/lib/mysql-workbench/mysql-workbench-bin 每2秒一次。

3.-在mysql-workbench中打开查询,监测内存的增加(如果有的话)。
同时检查运行mysql-workbench的终端的输出。

4.- 打开第三个终端并运行 htop ,这将给你一个系统的一般使用情况(cpu/memory/swap)的概览。

答案2

我在SQL编辑器中改变了一些 DBMS 设置,就解决了这个问题:

enter image description here

你没有提到你改变了其中的哪些设置。
答案3

我通过在 偏好 查询编辑器 中禁用 代码完成 来解决这个问题。