nextcloud登录不能配置mysql_NextCloud迁移服务器方法及问题解决

给小站的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

722910746f0b50e057343239875fcf68.gif

第一反应是PHP的对应扩展没有正确安装。果然,新服务器上,PHP的fileinfo、apcu、redis都没有装……一顿捣鼓

722910746f0b50e057343239875fcf68.gif

还是不行……继续检查

先删除NextCloud目录下 /data/nextcloud.log 文件,再在网页端访问一下,然后打开这个log文件,目的是记录错误日志

722910746f0b50e057343239875fcf68.gif

果然有一堆错误,从头往下逐一看

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

722910746f0b50e057343239875fcf68.gif

在 [mysqld] 配置段里加入

innodb_large_prefix=true

innodb_file_format=barracuda

innodb_file_per_table=1

一顿捣鼓……再次导入

导入sql文件时注意取消 不要给零值使用自增,否则又会报错,这里没截到图……

722910746f0b50e057343239875fcf68.gif

导入成功

722910746f0b50e057343239875fcf68.gif

再次打开网页,居然好了……

五、一些优化

打开设置的概览页检查,零零星星还有几个小问题,都可以参考以前的文章逐一解决

722910746f0b50e057343239875fcf68.gif

五、完美迁移

722910746f0b50e057343239875fcf68.gif

你可能感兴趣的:(nextcloud登录不能配置mysql_NextCloud迁移服务器方法及问题解决)