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

mysql_upgrade result
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

Leave a comment

Your email address will not be published. Required fields are marked *