在命令行执行
# mysqlcheck -Aao --auto-repair -u你的用户名 -p你的密码
如果不出意外,你将发现,你所有的数据库都被优化和修复了一次!
如果提示 mysqlcheck 找不到呢, 如果不是,请跳过这步。
找不到 mysqlcheck 的原因一般是手动编译安装的,像我一样,就 locate mysqlcheck 一下,发现在 /usr/local/mysql/bin/ 下面,就是我安装MySQL时指定的路径
,OK,给他加个快捷方式
ln -s /usr/local/mysql/bin/mysqlcheck /usr/bin/mysqlcheck
下面说下几个参数的含义
-a, --analyze 分析 [Analyze given tables]
-o, --optimize 优化 [Optimize table]
-A, --all-databases 所有的数据库 [Check all the database]
--auto-repair 自动修复 [If a checked table is corrupted, automatically fix it. Repairing will be done after all tables have been checked, if corrupted ones were found]
好了,把它加入 cron job 每天在 01:00 自动执行
# crontab -e
* * */1 * * mysqlcheck -Aao –auto-repair -u你的用户名 -p你的密码 > /dev/null 2>&1注:经测试在centos5.5成功通过,在windows系统中提示Error: mysqlcheck doesn't support multiple contradicting commands.zz:http://www.21andy.com/blog/20100219/1698.html