数据库连接配置不随export/import settings迁移,因其存储于config/options/datasources.xml和datasources.local.xml中;需手动拷贝并注意ssh密钥路径、权限及数据库用户主机名匹配。

数据库连接配置不随 Export/Import Settings 迁移
PhpStorm 的 Export Settings 默认不包含数据库连接信息——它只导出 IDE 界面、快捷键、模板等用户偏好,而数据源(Data Source)属于项目级或 IDE 级的“运行时配置”,被单独存放在 config/options/datasources.xml 和 config/options/datasources.local.xml 中。直接导出 .jar 文件后,在新环境里打开 Database 工具窗口,会发现空空如也。
手动迁移 datasources.xml 是最直接的方式
数据库连接配置实际以 XML 形式固化在配置目录下,迁移只需拷贝这两个文件(注意先后顺序和权限):
-
datasources.xml:存连接元信息(类型、host、port、database 名等),可安全复制 -
datasources.local.xml:存加密后的密码、SSH 密钥路径、本地自定义选项;若目标机器密钥路径不同(如/home/alice/.ssh/id_rsa→/home/bob/.ssh/id_rsa),需手动编辑该文件替换<password></password>外的sshKeyPath字段 - 路径示例(Linux):
~/.config/JetBrains/PhpStorm2025.1/config/options/ - 操作前务必关闭 PhpStorm(
pkill -f phpstorm),否则文件可能被锁或写入冲突
跨版本迁移时密码解密失败怎么办
JetBrains 从 2023.3 起改用新的密钥派生方式,旧版 datasources.local.xml 中的加密密码在新版中无法自动解密,表现为连接测试时提示 Access denied for user,即使用户名密码没错。此时不能硬改 XML,应:
- 先用旧版 PhpStorm 启动一次,打开 Database 工具窗口,右键对应数据源 →
Properties→ 在General页重新输入密码并点OK(触发重加密) - 再关闭旧版,拷贝更新后的
datasources.local.xml - 若旧版已卸载,只能重配:在新版中新建同名数据源,填 Host/Port/User,勾选
Remember password,手动再输一遍密码
SSH 隧道配置迁移容易漏掉的关键点
通过 SSH 连云数据库的数据源,依赖三项外部状态,仅拷贝 XML 不够:
- 本地 SSH 私钥文件必须存在且权限为
600(chmod 600 ~/.ssh/id_rsa),否则 PhpStorm 拒绝加载 - 若用了
Use SSH config选项,需同步迁移~/.ssh/config中对应 Host 的配置块(如IdentityFile,User) - 云服务器上数据库用户必须是
'user'@'localhost',不是'user'@'%'—— 隧道转发后,数据库看到的是 127.0.0.1,这点常被忽略导致Access denied
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











