如何在PHPStorm中高效配置Ubuntu数据库连接,大幅提升PHP开发效率?
- 内容介绍
- 文章标签
- 相关推荐
先说个实话, 刚装好 Ubuntu,打开 PHPStorm 那叫一个懵逼——数据库根本不在同一个画面。
别急,咱们一步步把这玩意儿拴在一起,省掉那一堆切来切去的操作。下面的内容全是干货, 完善一下。 跟你唠嗑式的教程,别担心结构太死板,一句话一行,读着轻松。
前置准备:让系统先跑起来
我晕... 先把常见的 Web 环境给整齐了。 记得先更新一下系统,免得后面报错。
sudo apt update && sudo apt upgrade -y
装 PHP、 Apache 或者 Nginx,都能配合。这里给你列几个常用组合:
# 安装 PHP7.4
sudo apt install -y php php-cli php-common
# 安装 Apache
sudo apt install -y apache2 libapache2-mod-php
# 安装 Nginx + php-fpm
sudo apt install -y nginx php-fpm
接下来挑一个数据库装上。MySQL / MariaDB、PostgreSQL、SQLite 随便挑,你想咋用就咋用,你没事吧?。
# MySQL / MariaDB
sudo apt install -y php-mysql mysql-server
# PostgreSQL
sudo apt install -y php-pgsql postgresql
# SQLite
sudo apt install -y php-sqlite3
启动服务并检查状态:
# MySQL
sudo systemctl start mysql
sudo systemctl status mysql # 看到 active 就 OK
# PostgreSQL
sudo systemctl start postgresql
sudo systemctl status postgresql
要是用了 Apache,记得重启下:
# Apache
sudo systemctl restart apache2
# Nginx + php-fpm
sudo systemctl restart php7.4-fpm # 这里假设是 7.4
sudo systemctl restart nginx
在 PHPStorm 里打开 Database 面板
他破防了。 点顶部菜单 → View → Tool Windows → Database。第一次打开,它会从左侧滑出来。
看到左边栏了吗?那就是我们要玩儿的舞台。别怕, 火候不够。 后面一步步教你怎么把本地库“拉进来”。
创建数据源——MySQL 示例
左上角点 Add → Data Source → MySQL。
弹窗里填入:
- Host:localhost
- User:root
- Password:你的 root 密码
- Database:随便选一个已有库或者留空新建都行
点 Test Connection, 要是显示成功,那就已经连上啦。
PostgreSQL 示例同理,只是 Data Source 换成 PostgreSQL 而已。
配置专属数据库用户与最小权限——别让平安成为绊脚石
生产环境里千万别直接用 root。这儿教你怎么搞个只读或写入专用账号,换个思路。。
MySQL 创建用户并授权
# 登录 MySQL 控制台
sudo mysql -u root -p
# 创建新用户
CREATE USER 'demo_user'@'localhost' IDENTIFIED BY 'StrongPass!123';
GRANT ALL PRIVILEGES ON demo_db.* TO 'demo_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
精辟。 如果只想读数据,把 GRANT 改成 SELECT 就行啦。
PostgreSQL 创建角色并关联库
# 切换到 postgres 系统用户并进入 psql
sudo -i -u postgres psql
-- 创建角色和库
CREATE ROLE demo_user WITH LOGIN PASSWORD 'StrongPass!123';
CREATE DATABASE demo_db OWNER demo_user;
\q
exit
温馨提示:生产环境一定要限制 IP 范围、 使用强密码,并且尽量只授予业务所需最小权限,准确地说...。
Ssh 隧道直连远程库——云端也能像本地一样玩儿
有时候数据库跑在 AWS RDS、 阿里云或者公司内部防火墙后面这时直接连会被拦住。别慌,用 SSH 隧道搞定!在 Data Source Properties → SSH 页面勾选 “Use SSH tunnel”。填上远程机器 IP、SSH 用户名以及私钥路径,然后再测一次连接。如果成功,那感觉像本地 DB 一样顺手。
Schemes 切换——dev / test / prod 环境不再混淆
PHPStorm 支持把不同环境的 Schema 保存为独立 Scheme。右上角齿轮图标 → “Schemas”。 不夸张地说... 为 dev、test、prod 分别建 Scheme,勾选对应表。切换时只会显示当前环境的对象,再也不怕误操作了。
SQL 模板 & 自动补全——写 SQL 像写代码一样爽快
PHPStorm 自带智能补全, 只要打开 Console,就能像敲代码一样敲 SQL。想省事儿?去 Settings → Editor → Live Templates 加自定义模板,比方说「select_all」对应「SELECT * FROM $TABLE$ WHERE 1=1;」。输入缩写后按 Tab 键瞬间展开,大幅提升编写速度,害...。
DBeaver 插件式对比——高级 DBA 功能随时开箱即用
PHPStorm 已经够用了 但如果你爱 DBeaver 的对比功能,可以在 Settings → Plugins 搜索 “DBeaver” 并安装。重启后 在 Database 面板右键选择 “Compare with DBeaver”,大型项目审计差异简直不要太方便,不是我唱反调...。
LAMP/LNMP 与 phpMyAdmin/pgAdmin 的配合技巧——工具各显神通
LAMP 堆栈天然配合 phpMyAdmin;LNMP 更倾向 pgAdmin 或者 Adminer。核心思路是一套 IDE 完成 CRUD、 结构浏览,再遇到复杂 ER 图或备份恢复时打开外部 GUI 工具,一举多得。
DBeaver 与内置 Console 的协同工作流程示例:
- 在 Database 窗口右键目标库 → New → Console 打开控制台;敲 SELECT、 INSERT 等语句,后来啊即时渲染成表格。
- 需要导出 CSV?右键表格 → Export to File,省得再写脚本啦! 🎉
- If query runs慢, 用 EXPLAIN 分析瓶颈,同样可以在 Console 里直接施行。
Mysql Workbench / pgAdmin 替代视图——当 IDE 不够强大时的救星
PHPStorm 对日常开发已经足够, 但面对复杂查询调优、事务回滚等高级需求时把 Workbench 或 pgAdmin 当作“副驾驶”,主驾仍然是 IDE,这样既保持效率,又不失专业度,加油!。
Troubleshooting 小贴士——常见坑位速查表
- No driver found for ... : 在 Settings → Plugins 确认已安装对应数据库驱动插件,比方说 MySQL Connector/J 或 PostgreSQL JD娱乐 驱动。
- Cant connect to localhost:3306 : 检查防火墙 ufw 是否放行 3306/5432 端口;确认服务真的在运行。
- Password auntication failed for user ... : 确认用户密码是否更新;如果使用 socket 认证,需要在 my.cnf 中关闭 auth_socket 或改为 password 登录方式。
- Ssh tunnel timeout : 检查私钥权限以及远程机器是否允许你的 IP 登录;必要时加上 “-v” 参数调试 SSH 链接细节。
Killer Feature 小结 —— 为什么要这么折腾?
- Eclipse‑like switchless workflow:所有 DB 操作都在 IDE 完成, 无需打开终端或浏览器,时间碎片直接消灭掉。
- Schemes 多环境管理:a/b/c 环境随手切换,不会主要原因是看错表结构而踩坑。
- AIO 自动补全 & Live Templates:- 写 SQL 像写代码一样快, 一键生成标准化语句,提高团队统一性。
- Ssh Tunnel + Remote Schemas:- 云端 RDS 同步本地开发, 无缝对接 CI/CD 流程.
- DBeaver 插件 + External GUI:- 高级 DBA 功能随手可得,不必离开 IDE.
结束语:把这套配置搬进你的工作流,你会发现开发速度瞬间起飞 🚀 哈哈,你说对吧?不管是小项目还是企业级系统, 只要把 PHPStorm 和 Ubuntu 数据库紧紧拴住你就可以告别“切窗口”“拷文件”的苦逼日子了。懂了么?赶紧去试试吧!你懂的~ 😎
先说个实话, 刚装好 Ubuntu,打开 PHPStorm 那叫一个懵逼——数据库根本不在同一个画面。
别急,咱们一步步把这玩意儿拴在一起,省掉那一堆切来切去的操作。下面的内容全是干货, 完善一下。 跟你唠嗑式的教程,别担心结构太死板,一句话一行,读着轻松。
前置准备:让系统先跑起来
我晕... 先把常见的 Web 环境给整齐了。 记得先更新一下系统,免得后面报错。
sudo apt update && sudo apt upgrade -y
装 PHP、 Apache 或者 Nginx,都能配合。这里给你列几个常用组合:
# 安装 PHP7.4
sudo apt install -y php php-cli php-common
# 安装 Apache
sudo apt install -y apache2 libapache2-mod-php
# 安装 Nginx + php-fpm
sudo apt install -y nginx php-fpm
接下来挑一个数据库装上。MySQL / MariaDB、PostgreSQL、SQLite 随便挑,你想咋用就咋用,你没事吧?。
# MySQL / MariaDB
sudo apt install -y php-mysql mysql-server
# PostgreSQL
sudo apt install -y php-pgsql postgresql
# SQLite
sudo apt install -y php-sqlite3
启动服务并检查状态:
# MySQL
sudo systemctl start mysql
sudo systemctl status mysql # 看到 active 就 OK
# PostgreSQL
sudo systemctl start postgresql
sudo systemctl status postgresql
要是用了 Apache,记得重启下:
# Apache
sudo systemctl restart apache2
# Nginx + php-fpm
sudo systemctl restart php7.4-fpm # 这里假设是 7.4
sudo systemctl restart nginx
在 PHPStorm 里打开 Database 面板
他破防了。 点顶部菜单 → View → Tool Windows → Database。第一次打开,它会从左侧滑出来。
看到左边栏了吗?那就是我们要玩儿的舞台。别怕, 火候不够。 后面一步步教你怎么把本地库“拉进来”。
创建数据源——MySQL 示例
左上角点 Add → Data Source → MySQL。
弹窗里填入:
- Host:localhost
- User:root
- Password:你的 root 密码
- Database:随便选一个已有库或者留空新建都行
点 Test Connection, 要是显示成功,那就已经连上啦。
PostgreSQL 示例同理,只是 Data Source 换成 PostgreSQL 而已。
配置专属数据库用户与最小权限——别让平安成为绊脚石
生产环境里千万别直接用 root。这儿教你怎么搞个只读或写入专用账号,换个思路。。
MySQL 创建用户并授权
# 登录 MySQL 控制台
sudo mysql -u root -p
# 创建新用户
CREATE USER 'demo_user'@'localhost' IDENTIFIED BY 'StrongPass!123';
GRANT ALL PRIVILEGES ON demo_db.* TO 'demo_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
精辟。 如果只想读数据,把 GRANT 改成 SELECT 就行啦。
PostgreSQL 创建角色并关联库
# 切换到 postgres 系统用户并进入 psql
sudo -i -u postgres psql
-- 创建角色和库
CREATE ROLE demo_user WITH LOGIN PASSWORD 'StrongPass!123';
CREATE DATABASE demo_db OWNER demo_user;
\q
exit
温馨提示:生产环境一定要限制 IP 范围、 使用强密码,并且尽量只授予业务所需最小权限,准确地说...。
Ssh 隧道直连远程库——云端也能像本地一样玩儿
有时候数据库跑在 AWS RDS、 阿里云或者公司内部防火墙后面这时直接连会被拦住。别慌,用 SSH 隧道搞定!在 Data Source Properties → SSH 页面勾选 “Use SSH tunnel”。填上远程机器 IP、SSH 用户名以及私钥路径,然后再测一次连接。如果成功,那感觉像本地 DB 一样顺手。
Schemes 切换——dev / test / prod 环境不再混淆
PHPStorm 支持把不同环境的 Schema 保存为独立 Scheme。右上角齿轮图标 → “Schemas”。 不夸张地说... 为 dev、test、prod 分别建 Scheme,勾选对应表。切换时只会显示当前环境的对象,再也不怕误操作了。
SQL 模板 & 自动补全——写 SQL 像写代码一样爽快
PHPStorm 自带智能补全, 只要打开 Console,就能像敲代码一样敲 SQL。想省事儿?去 Settings → Editor → Live Templates 加自定义模板,比方说「select_all」对应「SELECT * FROM $TABLE$ WHERE 1=1;」。输入缩写后按 Tab 键瞬间展开,大幅提升编写速度,害...。
DBeaver 插件式对比——高级 DBA 功能随时开箱即用
PHPStorm 已经够用了 但如果你爱 DBeaver 的对比功能,可以在 Settings → Plugins 搜索 “DBeaver” 并安装。重启后 在 Database 面板右键选择 “Compare with DBeaver”,大型项目审计差异简直不要太方便,不是我唱反调...。
LAMP/LNMP 与 phpMyAdmin/pgAdmin 的配合技巧——工具各显神通
LAMP 堆栈天然配合 phpMyAdmin;LNMP 更倾向 pgAdmin 或者 Adminer。核心思路是一套 IDE 完成 CRUD、 结构浏览,再遇到复杂 ER 图或备份恢复时打开外部 GUI 工具,一举多得。
DBeaver 与内置 Console 的协同工作流程示例:
- 在 Database 窗口右键目标库 → New → Console 打开控制台;敲 SELECT、 INSERT 等语句,后来啊即时渲染成表格。
- 需要导出 CSV?右键表格 → Export to File,省得再写脚本啦! 🎉
- If query runs慢, 用 EXPLAIN 分析瓶颈,同样可以在 Console 里直接施行。
Mysql Workbench / pgAdmin 替代视图——当 IDE 不够强大时的救星
PHPStorm 对日常开发已经足够, 但面对复杂查询调优、事务回滚等高级需求时把 Workbench 或 pgAdmin 当作“副驾驶”,主驾仍然是 IDE,这样既保持效率,又不失专业度,加油!。
Troubleshooting 小贴士——常见坑位速查表
- No driver found for ... : 在 Settings → Plugins 确认已安装对应数据库驱动插件,比方说 MySQL Connector/J 或 PostgreSQL JD娱乐 驱动。
- Cant connect to localhost:3306 : 检查防火墙 ufw 是否放行 3306/5432 端口;确认服务真的在运行。
- Password auntication failed for user ... : 确认用户密码是否更新;如果使用 socket 认证,需要在 my.cnf 中关闭 auth_socket 或改为 password 登录方式。
- Ssh tunnel timeout : 检查私钥权限以及远程机器是否允许你的 IP 登录;必要时加上 “-v” 参数调试 SSH 链接细节。
Killer Feature 小结 —— 为什么要这么折腾?
- Eclipse‑like switchless workflow:所有 DB 操作都在 IDE 完成, 无需打开终端或浏览器,时间碎片直接消灭掉。
- Schemes 多环境管理:a/b/c 环境随手切换,不会主要原因是看错表结构而踩坑。
- AIO 自动补全 & Live Templates:- 写 SQL 像写代码一样快, 一键生成标准化语句,提高团队统一性。
- Ssh Tunnel + Remote Schemas:- 云端 RDS 同步本地开发, 无缝对接 CI/CD 流程.
- DBeaver 插件 + External GUI:- 高级 DBA 功能随手可得,不必离开 IDE.

