Ubuntu 22.04 KDE下DBeaver连接数据库遇SocketTimeoutException求助
解决DBeaver连接数据库超时(SocketTimeoutException)问题
代理配置校验
- 检查DBeaver内部代理设置:打开DBeaver → 菜单栏「编辑」→「首选项」→「网络」→「代理」,确认代理地址、端口和系统代理完全一致,勾选「启用代理」后点「测试代理连接」,确保能正常访问外部网络。
- 验证系统代理有效性:终端执行
curl -I https://你的数据库地址,如果返回超时,先搞定系统代理的连通性;如果能正常返回,说明DBeaver没正确读取代理配置,重启DBeaver再试。
修复Java证书配置错误
- 你之前把cacerts复制到
/usr/lib/jvm/java-11-openjdk-amd64/bin/java目录是错的,正确路径是/usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts。 - 正确替换步骤:
- 备份原证书:
sudo cp /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts.bak - 覆盖证书:
sudo cp /你的证书路径/cacerts /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts - 修正权限:
sudo chmod 644 /usr/lib/jvm/java-11-openjdk-amd64/lib/security/cacerts
- 备份原证书:
- 重启DBeaver后尝试连接。
检查端口与防火墙
- 确认数据库端口对外开放,同时Ubuntu防火墙(ufw)没拦截:
- 查看ufw状态:
sudo ufw status - 若端口未允许,添加规则:
sudo ufw allow 你的数据库端口/tcp
- 查看ufw状态:
- 测试数据库连通性:终端执行
nc -zv 数据库IP 数据库端口,如果不通,联系数据库管理员确认网络策略。
核对DBeaver的Java环境
- 查看DBeaver用的Java版本:打开DBeaver → 菜单栏「帮助」→「关于」→「详细信息」,检查「Java Home」是否为
/usr/lib/jvm/java-11-openjdk-amd64。 - 若不一致,手动指定Java路径:编辑
/usr/share/applications/dbeaver.desktop,修改Exec行,添加-vm参数,比如:Exec=/usr/share/dbeaver/dbeaver -vm /usr/lib/jvm/java-11-openjdk-amd64/bin/java %U,保存后重启DBeaver。
内容的提问来源于stack exchange,提问作者Gabriel Garbrecht
相关产品推荐
相关产品推荐

