我有非常长的查询文本(约 50 行)。最近,MySQL workbecnh 表现出奇怪的行为。在编辑查询时(我打开它,编辑一个字符并想继续下一个字符),它会永远冻结。
我怀疑这可能与内存有关?我看到首选项中有一个默认值,默认maximum query length to store in history in bytes
值为:65536
。这有关系吗?你有什么建议?
我的设备运行的是 Ubuntu 18.04,工作台是最新版本 8.0。我使用:clean
和autoclean
命令清理了临时文件,但没有希望。
请帮我解决这个问题。我知道当我在文本编辑器中编辑查询时不会遇到这个问题。只有当我使用工作台编辑器时才会遇到。但使用外部编辑器并不实用。
我还尝试重新启动并关闭我的设备并再次打开数据库连接。
如果您需要日志,请指定获取日志的步骤。
答案1
我通过禁用解决了这个问题代码完成在优先→查询编辑器。
答案2
虽然不是答案,但它可以帮助您调试是否是内存问题
1.- 从终端窗口打开 mysql-workbenchmysql-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 /内存/交换)的概览。