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

MySQL WorkBench无法连接数据库服务器,VM中bheng用户登录失败如何解决?

解决MySQL连接问题:bheng用户本地连接失败 + WorkBench无法连接

别着急,咱们一步步拆解这两个问题,先搞定本地用户连接,再解决远程WorkBench的问题。

一、修复bheng用户本地连接失败的问题

既然你已经用root账号登录到VM的MySQL了,先从用户权限和配置入手排查:

  • 确认bheng用户的存在与访问范围
    执行这条SQL查看用户列表:

    SELECT user, host FROM mysql.user;
    

    重点看bheng对应的host字段:如果是localhost,说明这个用户只能在VM本地连接;如果是%则允许远程连接。要是找不到bheng用户,得先创建:

    CREATE USER 'bheng'@'localhost' IDENTIFIED BY '你的密码';
    
  • 检查并授予必要权限
    先看看bheng用户现有权限够不够:

    SHOW GRANTS FOR 'bheng'@'localhost';
    

    如果只有基础的USAGE权限,给它授予数据库操作权限(可根据实际需求调整范围):

    GRANT ALL PRIVILEGES ON *.* TO 'bheng'@'localhost' WITH GRANT OPTION;
    -- 刷新权限让配置立即生效
    FLUSH PRIVILEGES;
    
  • 重置密码(排除密码错误)
    有时候密码输错或过期会导致连接失败,重置试试:

    ALTER USER 'bheng'@'localhost' IDENTIFIED BY '新的强密码';
    FLUSH PRIVILEGES;
    

    退出root账号后,用命令行测试连接:

    mysql -u bheng -p
    

    输入新密码,看能不能成功进入MySQL。

二、解决MySQL WorkBench无法连接的问题

WorkBench连不上通常是远程连接配置、防火墙或网络的问题,按下面步骤逐一排查:

  • 允许MySQL接受远程连接

    1. 修改MySQL配置文件(路径可能是/etc/mysql/my.cnf、/etc/mysql/mysql.conf.d/mysqld.cnf,Windows系统是my.ini):
      找到bind-address这一行,把值改成0.0.0.0(允许所有IP访问),如果有skip-networking这一行,记得注释掉它。
    2. 重启MySQL服务使配置生效:
      # Ubuntu/Debian系统
      systemctl restart mysql
      # CentOS/RHEL系统
      systemctl restart mysqld
      
  • 给bheng用户开放远程访问权限
    本地用户的host是localhost,远程连接需要给bheng配置%(允许所有IP)或指定WorkBench所在机器的IP:

    -- 先创建远程访问的bheng用户(如果之前没创建)
    CREATE USER 'bheng'@'%' IDENTIFIED BY '你的密码';
    -- 授予远程操作权限
    GRANT ALL PRIVILEGES ON *.* TO 'bheng'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  • 开放VM的3306端口
    MySQL默认用3306端口,VM的防火墙可能挡住了外部请求:

    # Ubuntu/Debian(ufw防火墙)
    ufw allow 3306/tcp
    ufw reload
    # CentOS/RHEL(firewalld防火墙)
    firewall-cmd --add-port=3306/tcp --permanent
    firewall-cmd --reload
    
  • 检查WorkBench连接配置
    新建连接时注意这几个关键项:

    • 主机名:填VM的真实IP(在VM里用ip addr或ifconfig查看)
    • 端口:默认3306,如果你改了MySQL配置就填对应端口
    • 用户名:bheng
    • 密码:确保和你设置的一致
    • 临时关闭SSL选项:如果暂时不需要加密连接,把"Use SSL"改成"Do not use",有时候SSL配置不全会导致连接失败
  • 确认VM网络可访问
    如果VM用的是NAT模式,需要在虚拟机软件(比如VirtualBox、VMware)里设置端口转发:把VM的3306端口映射到宿主机的某个端口(比如33060),然后WorkBench连接宿主机IP+33060端口。

三、终极排查:查看MySQL错误日志

如果上面步骤都没用,直接看MySQL的错误日志找具体原因:

# Ubuntu/Debian系统
cat /var/log/mysql/error.log
# CentOS/RHEL系统
cat /var/log/mysqld.log

日志里会明确提示错误类型,比如Access denied(权限问题)、Can't connect to MySQL server(网络/端口问题),根据提示再针对性解决。

内容的提问来源于stack exchange,提问作者code-8

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:02:13