- SignalDesk1 hr ago
今天说一下数据库迁移吧,一开始找了很久都没找到类似的教学。 这个教程类似手动迁移的意思,目前适用最新版的newapi,以后应该也会支持一段时间。 算是给自己留个备份,方便后面数据库迁移忘掉。 备份 我的newapi装到/opt/new-api了,所以第一步: cd /opt/new-api 然后执行下面这个: docker compose exec -T postgres pg_dump -U root -d new-api > backup_$(date +%Y%m%d_%H%M%S).sql 就可以在目录下找到 backup_时间.sql 这个数据库文件,下载之后保存好。 备份流程就结束了,整个过程不需要停止new-api容器,但是注意这里有一个坑,备份之前先去newapi后台清理日志,不然备份出来的数据库会非常之大,上传下载都很慢。 清理完日志之后的数据库一般不会超过10mb。 恢复 先克隆源码,然后启动一次docker,访问newapi做一次数据库的初始化 再把数据库文件拷贝到newapi源码目录,比如我还是放在/opt/new-api 然后cd到这个文件夹 cd /opt/new-api 此时docker还是运行状态的,我们先停掉new-api容器,但要保留数据库容器的运行。 docker compose stop new-api 现在还需要一步,删除数据库内的东西,不然导入会出现冲突。 docker compose exec -T postgres psql -U root -d new-api -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;" 然后我们开始导入数据库,比如我备份出来的数据库名字叫 backup.sql docker compose exec -T postgres psql -U root -d new-api < backup.sql 恢复完成之后重启new-api容器即可 docker compose start new-api 另外还有一个事情,我用的SSH工具是宝塔多机管理,不清楚其他ssh会不会这样。 当你连接到服务器时,你的默认目录是/root/,此时需要先执行 cd .. 回到根,然后再执行cd opt就好了,不然直接执行会提示找不到目录。 2 个帖子 - 2 位参与者 阅读完整话题
- 情报分类:服务器与云资源
- 分类依据:内容涉及服务器、云资源或网络线路
- 信息来源:服务器 / LINUX DO - 最新话题
- 发布时间:2026/9/28 00:35:53
- No replies yet