Hello,
on my server I have some users which are using nextcloud. All nextcloud installations a separated and are all running on version 20.0.10.
Yesterday I started to establish the 4-Byte support (https://docs.nextcloud.com/server/16/admin_manual/configuration_database/mysql_4byte_support.html#mariadb-10-3-or-later) on all the eight NC-instances, without any problems - except one.
During the 4-Byte Support Upgrade of the last user I got the following error (all the other upgrades worked fine):
“…
In AbstractMySQLDriver.php line 106:
An exception occurred while executing ‘ALTER TABLE oc_properties
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;’:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
…”
In the output of “SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME like “db16_%”;” I can see, that the ROW_FORMAT of some of the tables are COMPRESSED and other not (Dynamic), which looks like the maintenance:repair command is only runnig successfully on some tables (nearly the half of all tables).
For me it looks like a problem in the database of especially that customer and not a general OS or MariaDB problem.
Do you have an idea how I can solve the issue for that one?
Thanks a lot
Regards
Martin
Nextcloud version: 20.0.10
Debian 10.11 (64-bit)
Apache 2.4.38
PHP 7.4.23
MariaDB 10.3.31