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.