sql >> Base de Datos >  >> RDS >> MariaDB

MariaDB 10.6 y NextCloud:la fila COMPRIMIDA es de solo lectura de forma predeterminada

Actualicé OpenBSD 6.9 a 7.0 ayer.
Trajo la actualización de MariaDB:10.5 a 10.6.
Revisé my.cnf cambio y todo parecía estar bien.
Sin embargo, se encontraron problemas en un servidor NextCloud que utiliza MariaDB en OpenBSD.

Lo que sucedió fue la falla al actualizar el paquete.
Me conecté al servidor NextCloud con el navegador web. No había el tablero de la aplicación, y el actualizador esperó a que se iniciara en su lugar. Significaba pkg_add -u no había podido actualizar NextCloud. Al hacer clic en el botón de inicio en la página, se mostró que había ocurrido alguna excepción.

Leí nextcloud.log en el servidor y obtuve:

"level":3,
(...)
"Exception":"Doctrine\\DBAL\\Exception\\DriverException",
"Message":"An exception occurred while executing a query: 
SQLSTATE[HY000]: 
General error: 
4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.","Code":4047,

En cuanto a COMPRESSED formato de fila, MariaDB está en camino de permitir que sea de solo lectura "eliminando el soporte de escritura y desaprobando la función".
Presentaron innodb_read_only_compressed¶ opción en 10.6.0 que estaba ON por defecto.

Fue por eso que falló la actualización de NextCloud (de 21.0.4) a 21.0.5 en OpenBSD 7.0. No fue por la versión del sistema operativo o de la aplicación, sino por la compatibilidad con MariaDB cuya versión es mayor o igual a 10.6.0.
Hay un problema abierto relacionado con él en el repositorio de NextCloud.

Bueno, edité /etc/my.cnf temporalmente para resolver el problema:

  [mysqld]
  (...)
+ innodb_read_only_compressed = 0

Además, no encontré cómo configurarlo en una base de datos específica o una tabla e incluso la posibilidad😅

Reinicié mysqld en el servidor y probé de nuevo el actualizador en la página web. Después de todo, fue todo un éxito.

Aprecié la documentación de MariaDB y varias publicaciones, como problemas y blogs de Github. Me ayudaron mucho.