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.