mysqlcheck是MySQL自带的命令行工具,它可以检查、分析、修复和优化MySQL/MariaDB数据库和表。
mysqlcheck的使用
检查数据库(my_DB)中的某个表(my_table):
1 2 3 4 |
$ mysqlcheck -c my_DB my_table -u root -p # 没有密码 $ mysqlcheck -c my_DB my_table my_DB.my_table OK |
如果是远程MySQL数据库,使用-h选项指定主机域名/IP。
分析(-a):
1 |
$ mysqlcheck -a my_DB my_table |
优化所有数据库中的表:
1 |
$ mysqlcheck -o --all-databases |
“Table does not support optimize, doing recreate + analyze instead”的意思是:InnoDB表不支持优化。
修复数据库:
1 2 |
$ mysqlcheck -r --databases my_db1 my_db2 $ mysqlcheck --auto-repair -o --all-databases |
“note : The storage engine for the table doesn’t support repair”的意思是:InnoDB不支持修复功能。
mysqlcheck常用参数:
- -c, –check
- -a, –analyze
- -o –optimize
- -r, –repair
- –auto-repair
- -A, –all-databases
- -B, –databases
- –tables
- -g, –check-upgrade