How to fix docker MariaDB correct definition of table mysql.column_stats: expected column 'hist_type' at position 9...
Problem:
In the log of your MySQL docker server, you see logs like
mariadb_1 | 2022-06-07 20:24:00 283 [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').
mariadb_1 | 2022-06-07 20:24:00 283 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
Solution
This happens after doing a version upgrade of the MySQL version.
In order to fix it, run the upgrade by running mysql_upgrade
in the contaienr
docker-compose exec mariadb mysql_upgrade -uroot -pchopahl0aib4eiphuk5bao3shiVoow
where chopahl0aib4eiphuk5bao3shiVoow
is your MySQL root password.
If you have your password in .env as we recommend, you can use this command:
source .env && docker-compose exec mariadb mysql_upgrade -uroot -p${MARIADB_ROOT_PASSWORD}
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow