可通过开启MySQL的4字节字符解决问题,具体步骤如下:
确认MySQL或MariaDB版本(下面以MariaDB为例)
mysql =u root -p
此时会看到MariaDB版本号
修改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.等待完成
完成后,再次刷新管理后台的【概览】页,相关警告提示消失。