解决nextcloud在mariadb10.6以上报错


好久没有开机允许家里的nas了,打开发现ubuntu20.10居然已经被停止支持,于是修改源,直接升级到21.10。

然后,把lnmp全部删除,然后升级到最新版本重新编译。

折腾了2个小时,发现几个问题:

  1. nextcloud暂时不支持PHP8.1,这个目前无解。只能删除PHP,降级到8.0.14
  2. 之前用的是mariadb10.5,升级到10.6,执行mysql-upgrade出错:提示Error : The user specified as a definer (‘mariadb.sys’@’localhost’) does not exist
  3. nextcloud提示数据库出错:InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.

解决办法:

针对数据库升级的,主要是数据库系统用户权限的问题

update mysql.global_priv set Priv=‘{“access”:0,”plugin”:”mysql_native_password”,”authentication_string”:””,”account_locked”:true,”password_last_changed”:0}’ where User=‘mariadb.sys’;

针对nextcloud遇到的数据库问题,修改my.cnf,加上一项设置就行了

innodb_read_only_compressed=0


发表回复

您的电子邮箱地址不会被公开。