You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制DBeaver使用localhost而非127.0.0.1连接MySQL?

解决DBeaver强制使用localhost而非127.0.0.1连接MySQL的问题

问题根源

MySQL中user@localhost和user@127.0.0.1是两个独立的权限账号:

  • 用localhost连接时,默认采用**Unix套接字(socket)**方式,匹配user@localhost权限
  • 用127.0.0.1连接时,采用TCP/IP方式,匹配user@127.0.0.1权限
    你的情况是user@localhost有权限,但user@127.0.0.1没有,而DBeaver默认会把localhost解析为127.0.0.1走TCP,导致权限错误。

解决方法

方法1:在连接配置中指定Unix套接字路径

  1. 打开DBeaver的MySQL连接编辑窗口
  2. 切换到高级标签页(部分版本在「连接设置」的「高级选项」里)
  3. 在参数列表中找到unix_socket(或socket),填写MySQL实际的套接字文件路径:
    • 可通过命令行查询路径:mysql_config --socket
    • 常见路径:Ubuntu/Debian为/var/run/mysqld/mysqld.sock,CentOS/RHEL为/var/lib/mysql/mysql.sock
  4. 保存配置后重新连接

方法2:修改JDBC连接URL强制使用套接字

  1. 在连接编辑窗口中,勾选「显示高级选项」,找到URL输入框
  2. 在原有URL后添加套接字参数,示例:
    jdbc:mysql://localhost/support?unix_socket=/var/run/mysqld/mysqld.sock
    
    (注:指定套接字后可省略端口号,因为套接字连接不需要端口)

方法3:SSH隧道连接场景的额外配置

如果是通过SSH隧道连接远程服务器的MySQL:

  • 确保SSH隧道的「目标主机」填写localhost,「目标端口」可留空
  • 同时按上述方法1或2指定套接字路径,避免DBeaver将localhost解析为127.0.0.1走TCP

内容的提问来源于stack exchange,提问作者holden321

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 02:59:58