当前位置:首页 > 云服务器

phptorm怎么配置PHPStorm连接云服务器上的数据库(安全设置)

游戏科技网2026年09月14日 23:40云服务器20
描述:远程数据库连接必须用SSH隧道:PHPStorm通过云服务器SSH(22端口)转发请求至内网127.0.0.1:3306,用户须授权@localhost,禁用SSL并配置serverTimezone=Asia/Shanghai,驱动版本需匹配云厂商要求。远程数据库连接必须用 SSH 隧道,别直连 3…
远程数据库连接必须用SSH隧道:PHPStorm通过云服务器SSH(22端口)转发请求至内网127.0.0.1:3306,用户须授权@localhost,禁用SSL并配置serverTimezone=Asia/Shanghai,驱动版本需匹配云厂商要求。

phptorm怎么配置PHPStorm连接云服务器上的数据库(安全设置)

远程数据库连接必须用 SSH 隧道,别直连 3306

云服务器数据库(如阿里云 RDS、腾讯云 CDB 或自建 MySQL)默认禁止公网直连,直接填 Host 为公网 IP + Port=3306 几乎必然失败。正确路径是走 SSH 隧道:PHPStorm 先连云服务器的 SSH(22 端口),再通过该通道转发本地请求到云服务器内网的数据库端口(通常是 127.0.0.1:3306)。这既绕过安全组限制,又避免暴露数据库端口。

操作要点:

  • 确保云服务器已开通 SSH 访问(22 端口在安全组放行,且系统防火墙如 ufwfirewalld 也允许)
  • PHPStorm 中配置数据源时,不填普通 Host/Port,而是勾选 SSH/SSL 选项卡 → 启用 Use SSH config 或手动填 SSH 主机信息(Host 填云服务器公网 IP,Port 填 22,User 填能登录系统的账号,如 ubunturoot
  • SSH 认证方式优先选 Key pair (OpenSSH),密钥文件路径填你本地的 id_rsa(权限必须是 600,否则 PHPStorm 拒绝加载)
  • 隧道目标地址填 127.0.0.1:3306(不是云服务器公网 IP!因为数据库监听的是本地回环)

数据库用户权限必须限定为 localhost,不能开 ‘%’

很多人为了“方便”在云服务器上执行 GRANT ... ON *.* TO user@%,这是高危操作。SSH 隧道下,数据库看到的客户端 IP 就是 127.0.0.1::1,所以用户必须显式创建为 user@localhostuser@127.0.0.1,否则 Access denied

正确授权步骤(在云服务器上执行):

立即学习PHP免费学习笔记(深入)”;

phptorm怎么配置PHPStorm连接云服务器上的数据库(安全设置)
PHP

编写健壮的PHP代码,规避类型转换陷阱、数组怪癖及常见安全漏洞。

下载
  • 登录 MySQL:mysql -u root -p
  • 创建用户(注意引号和主机名):CREATE USER dev@localhost IDENTIFIED BY StrongPass123!;
  • 授库权限:GRANT SELECT, INSERT, UPDATE, DELETE ON myapp_db.* TO dev@localhost;
  • 刷新权限:FLUSH PRIVILEGES;
  • 验证:SELECT host, user FROM mysql.user WHERE user = dev; —— 结果必须含 localhost

驱动与 SSL 设置要匹配云服务商要求

主流云数据库(如阿里云 PolarDB、腾讯云 CDB)强制开启 SSL 连接,但 PHPStorm 的 SSH 隧道本身已加密,数据库层再启 SSL 属于冗余且易出错。实际应关闭数据库连接的 SSL 选项,除非你明确需要双向证书校验。

常见错误现象:

  • Public Key Retrieval is not allowed:在数据源的 Advanced 选项卡里,添加参数 allowPublicKeyRetrieval=true&useSSL=false
  • Could not create connection to database server:检查驱动版本 —— PHPStorm 2023.3+ 自带 MySQL Connector/J 8.0+,但云厂商可能要求降级到 5.1(如部分老 RDS 实例),此时需手动下载 mysql-connector-java-5.1.49.jar 并在数据源设置中点击 Driver Files+ 添加
  • 时区错乱(时间字段全成 UTC):在 Advanced 里加参数 serverTimezone=Asia/Shanghai

连接测试失败时,先确认三件事

别急着重配,90% 的问题出在这三个环节:

  • SSH 能通吗?终端执行:ssh -i ~/.ssh/id_rsa ubuntu@your-server-ip —— 连不上就查密钥权限、云安全组、sshd_config 是否禁用了密码或密钥登录
  • 数据库在云服务器本地能连吗?SSH 登上去后执行:mysql -u dev -p -h 127.0.0.1 -P 3306 myapp_db —— 连不上说明用户没建对、密码错、或 MySQL 没监听 127.0.0.1(检查 bind-address 配置)
  • PHPStorm 日志有没有线索?菜单 Help → Show Log in Explorer,搜 SSHMySQL,常能看到具体拒绝原因(比如密钥格式不支持、认证方法不匹配)

最易被忽略的是:云服务器上的 MySQL 默认只监听 127.0.0.1,而 SSH 隧道依赖它;但如果你改过 bind-address0.0.0.0,反而会因权限策略导致连接被拒 —— 它本就不该对外监听。

“phptorm怎么配置PHPStorm连接云服务器上的数据库(安全设置)” 的相关文章

5元云服务器:入门级新手首选

5元云服务器:入门级新手首选 我是一名刚毕业的大学生,对编程充满了热情,但现实总是骨感一些。刚踏入职场,我梦想着能独立开发一个网站或应用,却苦于没有足够的资源。买一台实体服务器太贵,租个虚拟空间又觉得…

6元服务器租用,高性价比VPS主机推荐

6元服务器租用,高性价比VPS主机推荐 记得去年我刚开始创业,做了一个小型网站来展示我的产品。那时,我手头紧,预算有限,却急着需要一个可靠的服务器来托管网站。作为一个普通上班族,我对技术懂得不多,但我…

2021年云服务器优惠套餐推荐

2021年云服务器优惠套餐推荐 嗨,朋友们!你是否曾经在深夜里,面对一堆代码和服务器错误,感叹说:“为什么我的项目老是卡顿?”如果是这样的话,那你可能正在寻找2021年云服务器优惠套餐的解决方案。作为…

云服务器市场增长

云服务器市场增长 大家好,作为一个每天依赖云服务器的开发者,我亲身感受到市场的飞速膨胀。想象一下,几年前我还得在办公室的老旧电脑前苦苦挣扎,处理数据时总是卡顿不堪,但现在,只需轻轻一点,就能在云端获得…

1元买走一台云服务器,这种天上掉馅饼的事存在吗?

1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个…

盘点最新优惠 云服务器网站推荐

盘点最新优惠 云服务器网站推荐 探盘最新优惠 云服务器网站推荐 云计算技术的迅猛发展,使得云服务器成为企业和个人开发者不可或缺的基础设施。云服务器,作为一种基于虚拟化技术的计算资源,允许用户按需获取计…