It's possible for the highly-accepted answer to fail in several cases. mysqlcheck -o --all-databases
is excellent, but you may find yourself in need of the --skip-database
argument, in case you run into:
- Databases-enabled for mysql to exist (
information_schema
,performance_schema
,sys
, etc.). - Databases-enabled for mysql to do replication (
defaultdb
). - Databases-enabled for your cloud virtual host (
mysql
on Digital Ocean, apparently).
In that case, give this a whirl:
mysqlcheck -o --all-databases --skip-database=information_schema;performance_schema;sys;defaultdb;mysql