NginxProxyManager 数据库迁移记录
原因
家里服务器的 NginxMangerProxy
使用的是 SQLite
作为数据库的。虽然数据不是很重要,但是丢了也是挺蛋疼的。考虑改为 MySQL
作为数据库,然后使用定时备份的策略来做数据库多备份。
升级步骤
1. 保存 sqlite 的 database 文件
NginxProxyManager
是使用 Portainer
拉起的容器,可以通过 Poratiner
的 Volume
界面直接访问文件内容,如下图
点击 Browser
,进入到这个界面就能直接下载了
2. 使用 mysql 启动新的 NginxProxyManager
这一步是为了让 NginxProxyManager 自己创建好数据库,这一步只要按下图这样设置好 mysql 的信息直接启动就行
!!!然后停止掉 nginxproxymanager!!!
3. 使用 Navicat DataTransfer 迁移数据(失败)
原本是想通过 Navicat
的 DataTransfer
功能直接迁移的,就是下图这个功能
实际上使用后会发现日期相关的数据,转移过去后会变成 blob
数据,导致迁移失败
4. 使用 Navicat 复制粘贴(成功)
使用过程发现,全选 SQLite
表中的数据,复制后,直接粘贴到 MySQL
对应的表上,数据可以完整粘贴过去,看着表不多,数据量也少,直接就这样操作完成整个数据库迁移
就像下图这样选择对应的表格复制,然后粘贴到新数据库上一样的表上即可
5. 重新启动 NginxProxyManager
这个时候重新启动 NginxProxyManager
就会看到 NginxMangerManager
已经完整回复过来