在命令行里敲SQL管理数据库是技术人的浪漫,但偶尔想可视化看看数据、导出一份CSV、或者快速改一行记录——phpMyAdmin是标配。装在VPS上通过浏览器访问,比本地装MySQL客户端方便。
Docker部署phpMyAdmin
docker run -d --name phpmyadmin --restart always
-e PMA_HOST=数据库的IP或容器名
-e UPLOAD_LIMIT=100M
-p 8081:80
phpmyadmin/phpmyadmin:latest
# 访问 http://VPS_IP:8081
# 登录用数据库的root账号和密码如果数据库和phpMyAdmin都是Docker容器:
# 先创建共享网络
docker network create dbnet
# MySQL连接这个网络
docker network connect dbnet mysql容器名
# phpMyAdmin指定数据库容器名
docker run -d --name phpmyadmin --restart always
--network dbnet
-e PMA_HOST=mysql容器名
-p 8081:80
phpmyadmin/phpmyadmin:latestPMA_HOST填数据库容器的名字,Docker内部DNS自动解析。雨云入门VPS月付几块跑phpMyAdmin+MySQL够用。优惠码 admin01 首月五折。
安全加固:不要暴露到公网
phpMyAdmin是攻击者的首选目标——扫到8081端口有phpMyAdmin,就开始暴力破解。安全措施:
- Nginx反代加HTTPS+HTTP Basic Auth双重认证
- 只允许特定IP访问——UFW或安全组限制来源IP
- 通过SSH隧道访问——ssh -L 8081:127.0.0.1:8081 root@VPS_IP,然后浏览器打开localhost:8081,不暴露公网
- 不用了就停掉容器——docker stop phpmyadmin,用时再docker start
常用操作速查
- 导出数据:选数据库→导出→快速→SQL格式→执行→下载.sql文件
- 导入数据:选数据库→导入→选文件→执行
- 执行SQL:选数据库→SQL→粘贴SQL语句→执行
- 改表结构:选表→结构→加列/改列/删列
- 浏览数据:选表→浏览→看到表格形式的数据
- 搜索:选表→搜索→按条件查数据
phpMyAdmin和Adminer的选择
| 维度 | phpMyAdmin | Adminer |
|---|---|---|
| 文件大小 | 大(完整PHP项目) | 单文件(约500KB) |
| 功能 | 全(导入导出、用户管理、查询构建器) | 基础但够用 |
| 界面 | 传统但功能明确 | 简洁现代 |
| 部署难度 | Docker一键 | 单文件丢PHP目录即可 |
如果只是偶尔查数据改数据,Adminer够用且更安全(攻击面小);如果需要频繁管理数据库、做导入导出和用户管理,phpMyAdmin功能更全。
常见问题
登录提示”无法连接MySQL服务器”?
PMA_HOST填错了或者数据库没允许phpMyAdmin的IP连接。Docker环境用容器名作为PMA_HOST最简单。如果数据库和phpMyAdmin不在同一台机器上,需要MySQL开启远程访问(bind-address=0.0.0.0)并创建允许远程登录的用户。
phpMyAdmin打开很慢?
默认会检查最新版本和加载主题资源,关掉:在docker run加 -e PMA_VERSION_CHECK=0。
要不要一直开着phpMyAdmin?
不要。用完就停——docker stop phpmyadmin,用的时候docker start秒开。一直开着增加被扫描和攻击的风险。






