MariaDB
 sql >> база данни >  >> RDS >> MariaDB

MariaDB 10.6 и NextCloud:COMPRESSED Редът е само за четене по подразбиране

Вчера надстроих OpenBSD 6.9 до 7.0.
Това донесе надстройка на MariaDB:10.5 до 10.6.
Проверих my.cnf промени и изглеждаше всичко наред.
Въпреки това бе открит проблем на сървър на NextCloud, използващ MariaDB на OpenBSD.

Това, което се случи, беше неуспехът при актуализирането на пакета.
Свързах се със сървъра NextCloud с уеб браузър. Нямаше таблото за управление на приложението и вместо това актуализаторът чакаше да бъде стартиран. Това означаваше pkg_add -u не успя да актуализира NextCloud. Щракването върху бутона за стартиране на страницата показва, че се е случило някакво изключение.

Прочетох nextcloud.log в сървъра и получи:

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

Що се отнася до COMPRESSED формат на ред, MariaDB е на път да го остави само за четене, като „премахне поддръжката за запис и оттегли функцията“.
Те въведоха innodb_read_only_compressed¶ опция в 10.6.0, която беше ON по подразбиране.

Ето защо актуализирането на NextCloud (от 21.0.4) до 21.0.5 на OpenBSD 7.0 се провали. Това не се дължи на версията на ОС или приложението, а на съвместимостта с MariaDB, чиято версия е по-голяма или равна на 10.6.0.
Има открит проблем, свързан с него в репозитория на NextCloud.

Е, редактирах /etc/my.cnf временно за решаване на проблема:

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

Освен това не открих как да го настроя на конкретна база данни или таблица и дори възможност😅

Рестартирах mysqld на сървъра и отново опитах програмата за актуализиране на уеб страницата. В крайна сметка беше напълно успешен.

Оценявах документацията на MariaDB и няколко публикации като проблеми с Github и блогове. Помогнаха ми много.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 начина да получите наборите от символи, налични в MariaDB

  2. Увеличаване на ефективността на заявки към база данни за MySQL - част втора

  3. Съвети за наблюдение на репликацията на MariaDB с ClusterControl

  4. Инсталиране на MariaDB 10.1 в Debian Jessie и изпълнение на различни заявки за MariaDB

  5. Как да контролирате отказ от репликация за MySQL и MariaDB