mariadbでエラーがでてる。
センサーのデータを蓄積しているデータベースのレプリケーションを観察していたら、以下のエラーを見つけた。
1 2 3 4 5 |
Jul 07 18:20:04 raspberrypi4b-gamma mariadbd[918]: 2024-07-07 18:20:04 6 [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'). Jul 07 18:20:04 raspberrypi4b-gamma mariadbd[918]: 2024-07-07 18:20:04 6 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255). Jul 07 18:20:04 raspberrypi4b-gamma mariadbd[918]: 2024-07-07 18:20:04 6 [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'). Jul 07 18:20:04 raspberrypi4b-gamma mariadbd[918]: 2024-07-07 18:20:04 6 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255) |
mysqlのcolumn_statsテーブルの 'hist_type'と'histogramの型違いのエラー…
mysql.column_stats
テーブルの hist_type
列の型が enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB')
であるべきなのに、実際には enum('SINGLE_PREC_HB','DOUBLE_PREC_HB')
になっている。mysql.column_stats
テーブルの histogram
列の型が longblob
であるべきなのに、実際には varbinary(255)
になっている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
mariadbにログイン mysql -u root -p mysqlを使用 USE mysql; hist_type 列の型を修正 ALTER TABLE column_stats MODIFY hist_type ENUM('SINGLE_PREC_HB', 'DOUBLE_PREC_HB', 'JSON_HB'); histogram 列の型を修正 ALTER TABLE column_stats MODIFY histogram LONGBLOB; システムテーブルのアップグレードとmariadbを念の為再起動 sudo mysql_upgrade sudo systemctl restart mariadb |
変更されていることをphpmyadminで確認してみた。
レプリケーション側でも同様に変更されたことを確認した。