VPS侦探论坛

标题: lnmp 环境下,使用 mysqlcheck , 官方mysql 数据库修复工具! [打印本页]

作者: imacintosh    时间: 2011-8-16 02:02
标题: lnmp 环境下,使用 mysqlcheck , 官方mysql 数据库修复工具!
lnmp 环境下,使用 mysqlcheck , 官方mysql 数据库修复工具!
                                                                                                                                                                                                                                                                                                                        如题,在本坛子 军哥的 lnmp 安装环境下,使用 mysqlcheck , 官方mysql 数据库修复工具!

大家都清楚 , 使用 vps 主机 或者 单独的生产环境机器上,本地编译安装了 mysql后,

最麻烦的就是 遇到突如其来的 mysql 数据库 或者 表出现有错误……该如何进行检查、优化、修复呢??


其实 安装 lnmp 0.5  -- 0.6  --  0.7 的包里面,都已经自带了 mysql的 官方工具:mysqlcheck

不信??试试:

#locate mysqlcheck

看看我的结果显示:
==========================================================================
/home/softs/lnmp0.5-full/mysql-5.1.48/client/mysqlcheck
/home/softs/lnmp0.5-full/mysql-5.1.48/client/mysqlcheck.c
/home/softs/lnmp0.5-full/mysql-5.1.48/client/mysqlcheck.o
/home/softs/lnmp0.5-full/mysql-5.1.48/client/.deps/mysqlcheck.Po
/home/softs/lnmp0.5-full/mysql-5.1.48/client/.libs/mysqlcheck
/home/softs/lnmp0.5-full/mysql-5.1.48/man/mysqlcheck.1
/home/softs/lnmp0.5-full/mysql-5.1.48/mysql-test/r/mysqlcheck.result
/home/softs/lnmp0.5-full/mysql-5.1.48/mysql-test/t/mysqlcheck.test
/home/softs/lnmp0.5-full/mysql-5.1.48/netware/mysqlcheck.def
/usr/local/mysql/bin/mysqlcheck
/usr/local/mysql/mysql-test/r/mysqlcheck.result
/usr/local/mysql/mysql-test/t/mysqlcheck.test
/usr/local/mysql/share/man/man1/mysqlcheck.1

找不到 mysqlcheck 的原因一般是手动编译安装的,像我一样,
就 locate mysqlcheck 一下,发现在 /usr/local/mysql/bin/ 下面,
就是我安装MySQL时指定的路径,OK,给他加个快捷方式

#ln -s /usr/local/mysql/bin/mysqlcheck /usr/bin/mysqlcheck


修复的 相关命令使用语句:
#mysqlcheck -Aao --auto-repair -uroot -pABCDEFG > /dev/null 2>&1

注意,-u 后面的root 是数据库的用户名
-p 后面的 ABCDEFG 是上述用户的登录密码~~~各自 改为各自的喔~~



几个主要参数的含义

-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 每周在周日的 02:00 自动执行

#crontab -e
0 2 * * 0 mysqlcheck -Aao --auto-repair -u你的用户名 -p你的密码 > /dev/null 2>&1

#service crond restart


如此一来,就不用时常担心 mysql 出现数据库错误,而没有及时修复了~~

在此,我也感谢 军哥 经常优化 lnmp包~~~我是一名网站的运维~~~军哥的工具包,的确好使,给力!!

我也会经常将自己懂的经验,和大家 一起分享啦!!               




欢迎光临 VPS侦探论坛 (https://bbs.lnmp.com/) Powered by Discuz! X3.4