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

PhpStorm无法通过SSH隧道连接远程MySQL问题求助

解决PhpStorm SSH隧道连接远程MySQL失败(Connection refused)的问题

问题现象

  • PhpStorm中SSH密钥对认证测试成功,但MySQL连接测试报错:

    Failed
    DBMS: MySQL (ver. 5.7.33-0ubuntu0.16.04.1) Case sensitivity: plain=exact, delimited=exact Driver: MySQL Connector/J (ver. mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0), JDBC4.2)
    SSH tunnel creation failed: Connection refused.

  • 驱动、认证方式、MySQL用户名/数据库/密码均无变更且确认正确
  • 仅操作过重置服务器端MySQL root密码,当前使用普通用户尝试连接

排查与解决方案

1. 检查MySQL绑定地址

重置root密码可能导致配置文件被修改,限制了远程访问:

  • 登录服务器,编辑MySQL配置文件(路径可能为/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf)
  • 找到bind-address配置项,修改为0.0.0.0(允许所有IP访问)或服务器内网IP,避免设置为127.0.0.1(仅限本地)
  • 重启MySQL服务:sudo systemctl restart mysql

2. 确认普通用户的远程访问权限

重置root密码后可能误操作影响了普通用户权限:

  • 用root账号登录MySQL:mysql -u root -p
  • 查看目标用户的访问限制:SELECT user, host FROM mysql.user WHERE user='你的普通用户名';
  • 如果host为localhost或特定IP,执行命令开放远程访问:
    GRANT ALL PRIVILEGES ON 你的数据库名.* TO '你的普通用户名'@'%' IDENTIFIED BY '你的密码';
    FLUSH PRIVILEGES;
    
    (%表示允许任意IP访问,也可指定特定IP)

3. 验证服务器本地MySQL连通性

排除MySQL服务本身故障:

  • 在服务器终端执行mysql -u 普通用户名 -p 数据库名,确认能正常连接到目标数据库

4. 检查PhpStorm SSH隧道配置细节

确保端口转发设置正确:

  • 在PhpStorm的MySQL连接配置中,SSH隧道的Target host设为127.0.0.1,Port设为3306(MySQL默认端口)
  • 如果本地运行了MySQL服务,可将Local port改为3307等未被占用的端口,避免冲突

5. 检查服务器防火墙规则

确保MySQL端口允许本地访问(SSH隧道依赖服务器本地转发):

  • 查看UFW防火墙状态:sudo ufw status
  • 如果防火墙开启,确认3306端口允许localhost访问:sudo ufw allow from 127.0.0.1 to any port 3306

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 23:20:37