4.1 MySQL 与 PostgreSQL:数据库的日常管理
一句话回答
1Panel 的「数据库」菜单管的是三类事:实例(数据库装在哪)、库与用户(谁能用)、备份与配置(怎么保命)。建库就像在数据库里开一个房间,建用户就是配钥匙——房间和钥匙都在面板里点几下就完成。
两种角色:本地实例与远程数据库
打开 数据库 → MySQL(PostgreSQL 同理),页面顶部是实例选择器。1Panel 能管的数据库分两种:
| 类型 | 说明 | 适合谁 |
|---|---|---|
| 本地实例 | 由 1Panel 应用商店自动安装的数据库容器 | 新服务器、没有现成数据库的 |
| 远程数据库 | 你在别处(另一台机器、云数据库)已经装好的 | 公司已有数据库、云厂商 RDS |
本地实例:从应用商店出发
本地实例不是在数据库菜单里直接装的,而是跳转到应用商店安装 MySQL/PostgreSQL 应用。装完后数据库菜单会自动识别到它。
这一点新手常绕弯路:在数据库菜单里翻半天「新建实例」——没有这个按钮。路径是:
数据库 → MySQL → 实例选择器 → 安装 MySQL(跳转应用商店)
↓
选版本、填参数 → 确认安装
安装参数(数据库名 root 密码等)在安装时设定,之后也可以在应用商店「已安装」里修改(见 4.2 节)。
远程数据库:先测试连接
进入「远程数据库」→ 创建远程数据库,填写参数:
| 参数 | 说明 |
|---|---|
| 名称 | 1Panel 里显示用的名字,随便取 |
| 版本 | 选择对应大版本(如 MySQL 5.7 / 8.0,PostgreSQL 14~16) |
| 地址 + 端口 | MySQL 默认 3306,PostgreSQL 默认 5432 |
| 数据库名 / 用户名 / 密码 | 用于连接的凭据 |
| 超时时间 | 连接超时,默认即可,网络差可调大 |
保存前必须先点【连接测试】,测试通过才能保存。远程数据库只是把连接信息存在 1Panel 里,数据还在原来的服务器上——解绑远程库不会删除远端数据。
建库与建用户:开房间配钥匙
选好实例后点【创建数据库】,这是最常用的操作:
| 配置 | 说明 |
|---|---|
| 数据库名 | 英文+数字,如 wp_blog |
| 用户名 / 密码 | 面板会自动建一个同名用户(只拥这个库的权限) |
| 权限 | 对该库的权限,默认全权限即可 |
| 描述 | 备注这个库是给谁用的 |
权限的边界:面板建的用户默认只能访问对应的数据库,不是 root 那种「想干嘛干嘛」。这一点对安全很重要——网站被脱库了,影响也局限在这一个库。
日常操作:列表里可以改密码、改权限、删除数据库。删库前请确认有备份——数据库的删除是不可恢复的。如果库里数据被外部工具直接改乱/删掉了,用「从服务器同步」可以让 1Panel 的记录和实际状态对齐。
连接信息:网站怎么用上数据库
每个数据库条目右侧有【连接信息】,这是最常被问「我网站怎么连数据库」的答案。它按场景给出不同地址:
| 场景 | 地址 |
|---|---|
| 网站容器 → 数据库(同机) | 容器名(如 db-mysql-xxxx)或容器 IP |
| 本机终端/脚本 → 数据库 | 127.0.0.1:3306(先在应用设置开外网端口) |
| 外部机器 → 数据库 | 服务器公网 IP + 映射端口(强烈建议关掉) |
建站时(3.1 节)填数据库主机就用这里给的地址——同机部署一般填容器名而不是 127.0.0.1,因为网站自己也在容器里。
Web 管理工具:不敲命令也能操作
1Panel 为数据库配套了图形化管理工具:
| 数据库 | 管理工具 | 入口 |
|---|---|---|
| MySQL | phpMyAdmin | 数据库 MySQL → phpMyAdmin |
| PostgreSQL | PGAdmin4 | 数据库 PostgreSQL → PGAdmin4 |
| MongoDB | Mongo Express | 数据库 MongoDB → Mongo Express |
| Redis | Redis Commander | 数据库 Redis → Redis Commander(见 4.2 节) |
没装时点进去会引导你去应用商店装。装好后就能在网页里改数据、导出表、写 SQL——对于「只想改一条记录」的需求,比命令行友好得多。
备份:数据库的保命操作
数据库条目右侧的【备份】按钮会生成一份备份文件(MySQL 走 mysqldump,PostgreSQL 走 pg_dump)。备份列表里可以下载、导入、恢复。
| 操作 | 位置 | 用途 |
|---|---|---|
| 立即备份 | 数据库条目 → 备份 | 改动前留个底 |
| 恢复 | 备份列表 → 恢复 | 数据坏了回滚 |
| 下载 / 导入 | 备份列表 | 跨服务器搬迁、本地留存 |
自动备份:和网站一样,交给计划任务(5.1 节),任务类型选「备份数据库」,可按库或按实例批量备份,配合保留份数和备份账号使用。
官方提醒:恢复前请确认目标库是空的或数据可被覆盖;恢复操作会按备份内容写回,不要在业务高峰做。
配置与性能调整
MySQL 实例支持的可视化运维(在实例的操作里):
| 功能 | 说明 |
|---|---|
| 配置修改 | 编辑 /opt/1panel/apps/mysql/[实例名]/conf/my.cnf,改完需重启实例 |
| 当前状态 | 实时看连接数、运行时长等 |
| 性能调整 | 参数化地调整 innodb_buffer_pool_size 等关键参数 |
| 慢日志 | 开启后按阈值分析慢查询,优化 SQL 的入口 |
PostgreSQL 的配置同理(配置文件 postgresql.conf)。改配置前先备份当前配置文件——数据库配置改错了会启动失败。
一个常见场景:网站流量上来了,MySQL 偶尔卡。先开慢日志看是哪条 SQL 慢,而不是盲目加内存。大多数时候是缺索引或 SQL 写得差,不是数据库本身的问题。
常见问答
Q:本机能直接 mysql -uroot -p 连面板的 MySQL 吗?
A:不能直接连,它在容器里。两种办法:①在应用设置里把端口映射到主机,再用 127.0.0.1:映射端口 连;②用 docker exec -it [容器名] mysql -uroot -p 进容器操作。
Q:新建的库网站连不上? A:检查三件事:①数据库地址填的是容器名不是 localhost(看【连接信息】);②用户对当前库有权限;③数据库实例状态正常(容器在跑)。
Q:删除数据库后 1Panel 里还显示? A:用「从服务器同步」刷新记录。另外,删库前一定确认有可恢复的备份。
Q:MySQL 5.7 和 8.0 怎么选? A:新项目无脑 8.0(性能好、官方支持);老程序(比如一些旧版织梦/帝国 CMS)可能只兼容 5.7,看程序文档要求。
Q:root 密码忘了怎么办? A:在应用商店「已安装」里找到 MySQL 应用 → 参数/编辑,可以重置 root 密码(本质是走容器环境变量重置流程)。重置会影响所有用 root 连接的应用,改完记得重启相关应用。
排错一条线
数据库出问题(网站报数据库错误),按这个顺序查:
网站报「数据库连接失败」
├─ 实例还在跑吗?→ 容器/已安装应用看状态
├─ 库和用户都对吗?→ 连接信息核对
├─ 权限对吗?→ 列表看用户权限
├─ 密码对吗?→ 改密码重试
└─ 还是慢/超时?→ 慢日志 + 当前状态
数据库管理的官方说明,见《1Panel 官方文档:功能手册》中的「MySQL / PostgreSQL」两节。
下一节:说完关系型数据库,来看看缓存界的扛把子 Redis——以及怎么用它串起应用商店的完整使用方法。
