VPS上装个phpMyAdmin可视化管理MySQL数据库

Docker部署、连接MySQL容器、安全加固SSH隧道访问和常用操作速查
发布于
2

在命令行里敲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:latest

PMA_HOST填数据库容器的名字,Docker内部DNS自动解析。雨云入门VPS月付几块跑phpMyAdmin+MySQL够用。优惠码 admin01 首月五折。

安全加固:不要暴露到公网

phpMyAdmin是攻击者的首选目标——扫到8081端口有phpMyAdmin,就开始暴力破解。安全措施:

  1. Nginx反代加HTTPS+HTTP Basic Auth双重认证
  2. 只允许特定IP访问——UFW或安全组限制来源IP
  3. 通过SSH隧道访问——ssh -L 8081:127.0.0.1:8081 root@VPS_IP,然后浏览器打开localhost:8081,不暴露公网
  4. 不用了就停掉容器——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秒开。一直开着增加被扫描和攻击的风险。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600