我有很长的查询文本(约50行)。最近,MySQL工作环境出现了奇怪的行为。当编辑查询时(我打开它,我编辑一个字符,想继续下一个),它永远冻结了。
我怀疑这可能是与内存有关的东西?我看到在偏好中,有一个默认值 maximum query length to store in history in bytes
,这个默认值: 65536
。这有关系吗?你有什么建议?
我的设备运行的是Ubuntu 18.04,工作台是8.0版本,这是最新的。我使用: clean
和 autoclean
命令清理了临时文件,但没有希望。
请帮助我如何克服这个问题。我知道,当我在文本编辑器中编辑查询时,我没有遇到这个问题。只是当我使用工作台编辑器的时候。但使用外部编辑器是不现实的。
我也试着重新启动和关闭我的设备,并再次打开数据库连接。
如果你需要日志,请指定步骤为你得到它。
不是答案,但它可以帮助你调试是否是内存问题
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)的概览。
我通过在 偏好 → 查询编辑器 中禁用 代码完成 来解决这个问题。