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——以及怎么用它串起应用商店的完整使用方法。