Bila anda mendapat error di log MySQL/MariaDB
Mar 21 16:56:36 rantang mariadbd[67522]: 2024-03-21 16:56:36 207425 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB'). Mar 21 16:56:36 rantang mariadbd[67522]: 2024-03-21 16:56:36 207425 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
Error tersebut bisa muncul karena anda me-restore file database di MariaDB versi yang lebih baru, atau muncul setelah upgrade MariaDB, solusinya jalankan
1. Jalankan mysql_upgrade
MySQL sendiri memiliki script bawaan yang bisa kita jalankan sewaktu mengupgrade database, yaitu mysql_upgrade
. Dari terminal jalankan
sudo mysql_upgrade
bila anda pernah menjalankan mysql_upgrade sebelumnya tetapi masih menemui error yang sama, bisa menjalankan mysql_upgrade sekali lagi
sudo mysql_upgrade --force
2. Update Query Manual
Login sebagai admin user di MySQL/MariaDB lalu jalankan
ALTER TABLE mysql.column_stats MODIFY histogram longblob; ALTER TABLE mysql.column_stats MODIFY hist_type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB');
3. Untuk Docker
Untuk MariaDB yang dijalankan di docker, kita bisa menambahkan environment variable MARIADB_AUTO_UPGRADE
, ataupun menjalankan solusi di #1 atau #2