← Back to team overview

maria-discuss team mailing list archive

Re: Why MyISAM as default engine for system tables ?

 


Am 06.06.2018 um 12:38 schrieb Julien Muchembled:
> 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
> [ERROR] Aborting
> 
> 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.

which version are you suing?
AFAIK in the meantime InnoDB is the default

but keep in mind we have machines where innodb is even not built at all
and the tablespace stuff has terrible sideeffects - backup/recovery of
MyISAM databasees - shutdown the service, rsync the folder and you are done



References