It seems with the release of MariaDB 10.6.0 today, that by default any table with a row_format of compressed is accessed as read-only (which can be temporarily bypassed with --skip-innodb-read-only-compressed). This is their first step in removing the feature entirely.
I was wondering if nextcloud plan to add an occ db (or occ maintenance or similar) option to let users modify their databases away from compressed row format (maybe to dynamic), so they can continue using nextcloud without issue when upgrading to mariadb 10.6.0 ?
I did today the upgrade to mariadb 10.6 on Test - Server. This is the result →
Exception\DriverException",“Message”:“An exception occurred while executing ‘UPDATE oc_authtoken SET last_check = ?, last_activity = ? WHERE id = ?’ with params [1623184941, 1623184941, 5]:\n\nSQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.”,“Code”:0,“Trace”:[{“file”:"/var/www/html/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php",“line”:169,“function”:“convertException”,“class”:“Doctrine\DBAL\Driver\AbstractMySQLDriver”,“type”:"->"},{"
Until you change your rows to another format, you can use this option in mysqld:
innodb_read_only_compressed=0
From MariaDB 10.6.0, tables that are of the COMPRESSED row format are read-only by default. This is the first step towards removing write support and deprecating the feature.