蓝空图床数据迁移
环境说明
使用1Panel部署
蓝空图床默认使用最新版本
采用 PostgreSQL 数据库 (不推荐用Mysql,CPU消耗极高)
使用1Panel搭建的应用,可在已安装应用中进入安装目录
相关文件存储目录为:
/opt/1panel/apps/lsky-pro/lsky-pro/data
图片文件路径为
/data/storage/app/uploads
1Panel迁移步骤
可直接使用1Panel提供的应用及数据库备份功能进行备份,导入备份即可,下载下来的压缩包导入时无需解压
需要先创建一个空的数据库,数据库创建好后执行图床安装程序选择刚才创建的数据库
然后导入备份,上传备份好的数据即可
实际测试时,由于源数据库名与目标数据库名称不相同,所以导入后有两个数据库,最终导入到了目标数据库里
数据库导入好后再导入应用备份
导入后如下所示
导入后我发现原来的文件并没有导入成功,也不知道是bug还是自己操作有误,登录后能看到预览图,但是点击图片还是原来的网址,改为当前服务ip后提示404,索性直接将备份包解压后上传。
应用还原后注意检查下data/.env
文件的数据库配置是否正确,这里我由于源数据库名与目标数据库名不一致,导致导入后无数据,检查后发现数据导入到了目标数据库里,配置的数据库名却是导入过来的源数据库名,所以需要改一下使用的数据库名称。
手动迁移步骤
备份源数据中的
data/storage
文件夹和data/public
目录下的缩略图文件夹thumbnails
。备份源数据中的
data/.env
文件和installed.lock
文件。在目标数据环境中安装好Lsky Pro以及数据库。
应用安装好以后将目标容器停止,待数据库迁移完以后再启动。
数据库迁移
可以使用Navicat
的数据同步功能进行迁移,也可直接执行sql脚本。
选择数据库源及目标
点击比较,对比两个数据库之间的差异
对差异数据选择插入或更新,例如此处我两个环境的超级管理员账号密码不相同,我更新为原来的账号密码
点击下一步,检查sql语句,确认无误后开始执行
执行完成后显示同步结果
数据类型为SQLite时无需部署数据库,备份database.sqlite
文件即可。
- 修改数据库配置信息
打开备份好的源数据中的.env
文件,修改其中数据库的配置信息。注意文件下载下来可能为env
不包含点
- 修改完
.env
文件后,将先前备份的文件和文件夹一起替换至目标文件和文件夹。 - 替换完以后再启功目标容器,打开兰空图床的登录界面,使用原来的用户名和密码进行登录即可。
效果展示
所有图片均可正常显示
使用当前IP访问图片
参考