document.writeln('');
当前位置:首页 > 云服务器

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

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

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

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

操作要点:

  • 确保云服务器已开通 SSH 访问(22 端口在安全组放行,且系统防火墙如 ufw 或 firewalld 也允许)
  • PHPStorm 中配置数据源时,不填普通 Host/Port,而是勾选 SSH/SSL 选项卡 → 启用 Use SSH config 或手动填 SSH 主机信息(Host 填云服务器公网 IP,Port 填 22,User 填能登录系统的账号,如 ubuntu 或 root)
  • 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@localhost 或 user@127.0.0.1,否则 Access denied。

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

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

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,搜 SSH 或 MySQL,常能看到具体拒绝原因(比如密钥格式不支持、认证方法不匹配)

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

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

云服务器10元月:经济型服务价格新记录

云服务器10元/月:经济型服务价格新记录 最近,云服务器的价格被推向了一个新低,10元一个月的方案让许多人惊喜不已。这不仅仅是数字上的变化,更是科技服务普惠化的一个标志。云服务器作为一种基于云计算的虚拟化服务,允许用户根据需求租用计算资源,而无需购买昂贵的物理硬件。10元一个月的定价,通常是针对入门级或共享型实例,适合个人开发者、小型网站或测试环境使用。这种价格水平源于市场竞争激烈和技术成本下降,…

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

盘点最新优惠 云服务器网站推荐 探盘最新优惠 云服务器网站推荐 云计算技术的迅猛发展,使得云服务器成为企业和个人开发者不可或缺的基础设施。云服务器,作为一种基于虚拟化技术的计算资源,允许用户按需获取计算能力、存储和网络资源,极大地提升了IT部署的灵活性和成本效益。近年来,随着数字化转型的加速,云服务器市场迎来了爆发式增长。根据Gartner的最新报告,全球公有云服务市场规模在2023年达到了497…

10Mbps云服务器实战指南

10Mbps云服务器实战指南 在当前数字化转型的大背景下,云服务器已成为企业信息化建设的重要基础设施。本文将围绕10Mbps云服务器的选购指南、配置优化、常见问题解决方案以及性能监控等方面,提供实用的建议和操作步骤,帮助用户高效部署并充分利用这一资源。 一、选购指南:如何根据业务需求选择合适的10Mbps云服务器? 1. 了解10Mbps带宽的实际应用 10Mbps云服务器适用于中小型企业网站、开…

竟然有如此便宜的云服务器?

竟然有如此便宜的云服务器? 那天,我正坐在咖啡馆里,手里拿着笔记本电脑,本来想找个地方测试我的新网站。但我突然意识到,我需要一个稳定的服务器来托管它。过去,我一直以为云服务器至少要几百块钱一个月,结果一番搜索后,我愣住了——竟然有如此便宜的云服务器?有些服务商标价只要几十块钱就能用一个月,这简直是天方夜谭! 回想起来,去年我刚开始创业时,做了一个小型电子商务网站。起初,我用免费的共享主机,但速度慢…

云服务器免费使用活动全面开启

云服务器免费使用活动全面开启 嗨,大家好!我是小明,一个普通的大学生,去年还在为学校的创业项目发愁呢。那时候,我有个小想法:做个简单的网站,展示我们团队的环保APP概念。但问题是,我们连个像样的服务器都没有,每次在宿舍的电脑上测试代码,都卡得要死,感觉像在泥潭里爬行。我心想,如果能有个免费的东西试试就好了——谁知道呢,说不定一试就上瘾了。 那天,我在社交媒体上刷着朋友圈,突然看到一条消息:“云服务…

云服务器收费:这些套路你中招了吗?

云服务器收费:这些套路你中招了吗? 你有没有试过租用云服务器?作为一个企业主或自由职业者,我经常看到朋友或同事在谈到服务器成本时,眼睛发亮地说:“哇,云服务器真方便,弹性扩展,几乎不用操心。”但后来,他们又会苦笑着说:“哎呀,账单来了,我差点被吓晕过去!”这不奇怪,因为云服务器收费的套路,就像一场隐形的迷宫,等着你一步步走进去。今天,我们就来聊聊“云服务器怎么收费的”,帮你揭开这些层层包裹的陷阱。…