MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

MariaDB 10.6 e NextCloud:a linha COMPRESSED é somente leitura por padrão


Eu atualizei o OpenBSD 6.9 para 7.0 ontem.
Trouxe a atualização do MariaDB:10.5 para 10.6.
Verifiquei my.cnf mudar e parecia tudo bem.
No entanto, um problema foi encontrado em um servidor NextCloud usando MariaDB no OpenBSD.

O que aconteceu foi a falha na atualização do pacote.
Eu me conectei ao servidor NextCloud com o navegador da web. Não havia o painel do aplicativo e o atualizador esperou ser iniciado. Significava pkg_add -u falhou ao atualizar o NextCloud. Clicar no botão iniciar na página acabou mostrando que alguma exceção havia acontecido.

Eu li nextcloud.log no servidor e obtive:

"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,

Quanto a COMPRESSED row, o MariaDB está a caminho de deixá-lo somente leitura "removendo o suporte de gravação e descontinuando o recurso".
Eles introduziram innodb_read_only_compressed¶ opção em 10.6.0 que estava ON por padrão.

Foi por isso que a atualização do NextCloud (de 21.0.4) para 21.0.5 no OpenBSD 7.0 falhou. Não foi por causa da versão do SO ou do aplicativo, mas pela compatibilidade com o MariaDB cuja versão é maior ou igual a 10.6.0.
Há um problema em aberto relacionado a ele no repositório NextCloud.

Bem, eu editei /etc/my.cnf temporariamente para resolver o problema:

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

Além disso, não encontrei como configurá-lo em um banco de dados específico ou em uma tabela e nem mesmo a possibilidade😅

Eu reiniciei o mysqld no servidor e tentei o atualizador na página da web novamente. Afinal, foi totalmente bem sucedido.

Apreciei a documentação do MariaDB e vários posts, como problemas do Github e blogs. Eles me ajudaram muito.