赞
踩
给小站的NextCloud服务器搬迁,踩了一些坑,记录一下。
一、文件备份还原
先备份整站文件数据,需要注意的
/data 目录下可能会有之前升级产生的备份文件(updater-****开头),可以删除
我用的宝塔的一键迁移功能,其他环境可以直接打包nextcloud所在目录,比如:
#tar打包
tar czvf file.bugxia.com.tar.gz /www/wwwroot/file.bugxia.com
#zip打包
zip -r file.bugxia.com.zip /www/wwwroot/file.bugxia.com
将文件数据转移到目标服务器解压即可。
如果Nextcloud在安装时使用的是MySQL数据库方案,则还需要备份还原数据库,而NextCloud迁移中易出问题的主要是数据库的还原。
二、数据备份还原
1.phpmyadmin备份及导入
2.mysqldump命令备份及导入
root\asdf1234分别为MySQL数据库root用户名密码
mysqldump -u root -p asdf1234 file > /root/file.sql
得到Nextcloud的数据库备份 .sql 文件,再通过phpmyadmin或者mysql命令导入:
mysql -u root -p asdf1234 file < /root/file.sql
三、Nginx配置备份还原
略
四、出现问题
迁移后,打开NextCloud网站,报错 Internal Server Error
第一反应是PHP的对应扩展没有正确安装。果然,新服务器上,PHP的fileinfo、apcu、redis都没有装……一顿捣鼓
还是不行……继续检查
先删除NextCloud目录下 /data/nextcloud.log 文件,再在网页端访问一下,然后打开这个log文件,目的是记录错误日志
果然有一堆错误,从头往下逐一看
An exception occurred while executing ‘SELECT * FROM `oc_authtoken`……Base table or view not found……Table ‘oc_authtoken’ doesn’t……
oc_authtoken表丢失了,于是返回检查数据库,果然少了一些表,重新备份数据库,手动导入,报错
#1071 – Specified key was too long; max key length is 767 bytes
在 [mysqld] 配置段里加入
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=1
一顿捣鼓……再次导入
导入sql文件时注意取消 不要给零值使用自增,否则又会报错,这里没截到图……
导入成功
再次打开网页,居然好了……
五、一些优化
打开设置的概览页检查,零零星星还有几个小问题,都可以参考以前的文章逐一解决
五、完美迁移
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。