Docker 部署 Umami,切换数据库至 PgSQL

💡 原文中文,约4600字,阅读约需11分钟。
📝

内容提要

Umami更新带来服务器死机和数据库升级问题。使用Docker部署Umami,数据库从MySQL转移到PgSQL。使用docker-compose.yaml文件进行部署和数据迁移,使用Navicat Premium进行迁移。重启Umami和PgSQL容器后,编辑docker-compose.yaml文件并重新启动容器进行Umami升级。使用nginx进行反向代理,删除原有的admin账户。Umami数据迁移完成。

🔎

延伸解读

为何要从 MySQL 迁移到 PgSQL

Umami 官方自 V2.3.0 起逐步弃用 MySQL 5.7,而 MySQL 8.0 至少需要 4G 内存。作者的服务器仅为 2C2G,无法满足 MySQL 8.0 的要求,因此选择迁移到 PgSQL。这反映了在资源受限环境下,数据库选型需考虑版本升级带来的硬件门槛。

迁移前的关键准备

迁移前需使用与自编译版本相同的 Umami Docker 镜像(如 v2.9.0),并开放服务器的 3306 和 5432 端口。数据迁移后可能出现 BUG,但作者暂未遇到。这些步骤确保迁移过程可控,避免版本不匹配导致的问题。

数据迁移的具体操作与注意点

使用 Navicat Premium 进行数据传输,仅需迁移 session、user、website、website_event 四个表。迁移后需重启 Umami 和 PgSQL 容器,测试数据是否正确,并删除原有的 admin 账户。迁移完成后再升级 Umami 镜像至最新版。

迁移后的验证与安全建议

迁移后应使用原用户名密码登录,检查数据完整性和功能是否正常。作者特别强调删除默认 admin 账户,以消除安全隐患。若测试无问题,再编辑 docker-compose.yaml 升级 Umami,并重新启动容器完成数据库升级。

❓

Q&A

Umami更新后出现了哪些问题?

Umami更新后导致服务器死机和数据库升级问题。

如何将Umami的数据库从MySQL迁移到PgSQL?

使用Navicat Premium进行数据迁移,配置docker-compose.yaml文件并重启容器。

在使用Docker部署Umami时需要注意什么?

需要使用与自编译版本相同的Umami Docker镜像,并开放相应的端口。

如何使用nginx进行Umami的反向代理?

在docker-compose.yaml中配置nginx,并确保删除原有的admin账户。

Umami的默认登录账号和密码是什么?

默认账号是admin,默认密码是umami。

在Umami数据迁移后需要进行哪些操作?

重启Umami和PgSQL容器,测试数据是否正确,并删除原有的admin账户。

🏷️

标签

➡️

继续阅读