Enabling MySQL 4-byte support --> General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE

So I finally decided to take the steps to get rid of this warning in the settings.

However when following the steps (Enabling MySQL 4-byte support — Nextcloud latest Administration Manual latest documentation) I got these errors:

[root@localhost nextcloud]# sudo -u apache php occ maintenance:repair
PHP Warning: Module ‘apcu’ already loaded in Unknown on line 0
Nextcloud is in maintenance mode - no apps have been loaded

  • Repair MySQL collation
    • Change row format for oc_migrations …
    • Change collation for oc_migrations …

In AbstractMySQLDriver.php line 106:

An exception occurred while executing ‘ALTER TABLE oc_migrations ROW_FORMAT=COMPRESSED;’:

SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.

In PDOStatement.php line 129:

SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.

In PDOStatement.php line 127:

SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.

maintenance:repair [–include-expensive]

NC is still running fine. So I’m wondering if I can forget about this or not…

In another post: Update to next cloud 21.0.2 has get an error

They mentioned it relates to MariaDB 10.6.3 which I’m running.

But downgrading seems to be not very straightforward.

Any thoughts?

Cheers!
K.

Please check the comments at the end of this thread which are related to the required InnoDB settings.

https://www.allerstorfer.at/enabling-mysql-4-byte-support-for-nextcloud-on-ubuntu-18-04/

login mysql
mysql -u root -p

SET GLOBAL innodb_read_only_compressed=OFF;

exit
then problem gone

Hi, Thanks for the tip, very useful!
Probleme solved.