MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

MariaDB 10.6 dan NextCloud:COMPRESSED Row secara default hanya-baca

Saya memutakhirkan OpenBSD 6.9 ke 7.0 kemarin.
Itu membawa peningkatan MariaDB:10,5 ke 10,6.
Saya memeriksa my.cnf berubah dan tampaknya baik-baik saja.
Namun demikian, masalah ditemukan pada server NextCloud menggunakan MariaDB di OpenBSD.

Yang terjadi adalah kegagalan memperbarui paket.
Saya terhubung ke server NextCloud dengan browser web. Tidak ada dasbor aplikasi, dan sebagai gantinya, pembaru menunggu untuk dimulai. Artinya pkg_add -u gagal memperbarui NextCloud. Mengklik tombol mulai di halaman akhirnya menunjukkan beberapa pengecualian telah terjadi.

Saya membaca nextcloud.log di server dan mendapatkan:

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

Tentang COMPRESSED format baris, MariaDB sedang dalam proses untuk membiarkannya Hanya-Baca dengan "menghapus dukungan tulis dan menghentikan fitur".
Mereka memperkenalkan innodb_read_only_compressed¶ opsi di 10.6.0 yang ON secara default.

Itu sebabnya pembaruan NextCloud (dari 21.0.4) ke 21.0.5 pada OpenBSD 7.0 gagal. Itu bukan karena OS atau versi aplikasi tetapi kompatibilitas dengan MariaDB yang versinya lebih besar atau sama dengan 10.6.0.
Ada masalah terbuka yang terkait dengannya di repo NextCloud.

Yah, saya mengedit /etc/my.cnf sementara untuk memecahkan masalah:

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

Selain itu, saya tidak menemukan cara mengaturnya pada database atau tabel tertentu dan bahkan kemungkinannya😅

Saya memulai ulang mysqld di server, dan mencoba pembaru di halaman web lagi. Bagaimanapun, itu benar-benar berhasil.

Saya menghargai dokumentasi MariaDB dan beberapa posting seperti masalah Github dan blog. Mereka banyak membantu saya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana IFNULL() Bekerja di MariaDB

  2. Bagaimana FIND_IN_SET() Bekerja di MariaDB

  3. MariaDB JSON_LENGTH() Dijelaskan

  4. Memahami Pengaruh Latensi Tinggi pada Solusi MySQL dan MariaDB Ketersediaan Tinggi

  5. Bagaimana POSITION() Bekerja di MariaDB