可通过开启MySQL的4字节字符解决问题,具体步骤如下:

确认MySQL或MariaDB版本(下面以MariaDB为例)

mysql =u root -p

此时会看到MariaDB版本号
222.png

修改MySQL或MariaDB数据库InnoDB设置

低于MySQL 8.0版本:
修改MySQL配置文件,在 [mysqld]下添加如下配置项。

[mysqld] 
innodb_large_prefix = true 
innodb_file_format = barracuda 
innodb_file_per_table = 1

开启MySQL 4字节支持

1.数据库root用户登入MySQL

mysql -u root -p

2.更改数据库字符集和排序规则

ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

这里的nextcloud修改为自己nextcloud的数据库名

3.退出MySQL数据库

exit

4.在Nextcloud的config.php中把mysql.utf8mb4设为true,进入Nextcloud网站目录,运行如下命令

sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"

这里的www-data设置为自己Nextcloud的运行用户,有的是www,有的是www-data

5.通过运行修复步骤将Nextcloud所有表转换为新的排序规则

sudo -u www-data php occ maintenance:repair

这里的www-data设置为自己Nextcloud的运行用户,有的是www,有的是www-data

6.等待完成

完成后,再次刷新管理后台的【概览】页,相关警告提示消失。

转载自:https://www.himstudy.net/%E8%A7%A3%E5%86%B3nextcloud%E6%8F%90%E7%A4%BA%E6%89%80%E4%BD%BF%E7%94%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%BAmysql%E4%BD%86%E6%B2%A1%E6%9C%89%E5%AF%B94%E5%AD%97%E8%8A%82%E5%AD%97/

Last modification:May 23rd, 2020 at 11:17 pm
如果觉得我的文章对你有用,请随意赞赏