maria-discuss team mailing list archive
Mailing list archive
Why MyISAM as default engine for system tables ?
A few weeks ago, we got the following fatal error when starting mariadb:
[Note] Starting crash recovery...
[Note] Crash recovery finished.
[ERROR] mysqld: Table './mysql/db' is marked as crashed and should be repaired
[Warning] Checking table: './mysql/db'
[ERROR] mysql.db: 1 client is using or hasn't closed the table properly
tch value count at row 1
Unfortunately, what led to this is unclear. We only rebooted the machine. Maybe a hw raid issue. We did a copy at that time. I tried recently if it could be repaired but I don't have the a fatal error anymore. We also don't know why system tables were touched during the reboot.
Anyway, given the description of Aria ("Crash-safe tables with MyISAM heritage"), I understand that MyISAM is not crash-safe. Then, why keep using MyISAM as default engine for system tables, when MariaDB has Aria or InnoDB ?
Not sure a crash-safe engine would have helped in the above case (there's no miracle for data corruption). But we'd like at least that all our mariadb setups are crash-safe (e.g. power cuts) and we use InnoDB partly for that. And I don't know if a InnoDB DB could be always recoverable if the 'mysql' DB is lost but we don't want to do manually (and learn how to) what the machine can do automatically.