
% chmod +x check_MySQL_tables
% chmod_mysql_tables
在理想情况下应该没有输出结果。如果系统不支持外部锁定,有可能服务器将在您检查表时改变它。此时,脚本可能会把实际没问题的表报告成有问题的。这有点不幸,但比出现相反的问题要好:当出现某些故障时脚本报告无问题。如果系统支持外部锁定,则该问题就
不会出现。
以下部分将说明如何建立脚本,使它通过cron 并在系统启动期间自动执行。在这些小节的例子中,笔者假定脚本安装在/usr/users/mysaladm/bin 中。您将需要调整适合自己系统的值。
如果在您的系统上运行了多个服务器,将需要修改该过程来检查每个服务器数据目录中的表。您可以使用不同的check_mysql_tables 拷贝来进行,或通过修改它来接收一个命令行参数进行,该参数指定了想要检查的数据目录。
用cron 定期检查表
假定要想对mysqladm 用户从crontab 文件中调用脚本c h e c k _ mysql_ tables。先以该用户的身份进行注册,然后用下列命令编辑crontab 文件:
% crontab -e
该命令带您进入带有当前crontab 文件拷贝的编辑器中(如果以前没有编辑过,此文件可能是空的)。增加一行到文件中:
0 3 * * 0 /usr/users/mysqladm/bin/check_mysql_tables
它告诉cron 在每个星期日的上午3 时运行此选项。可以按要求改变时间或安排。有关这些选项的格式,请参阅crontab 人工页。
在系统启动期间检查表
如果您正在使用BSD 风格的系统,并且已经将服务器的启动命令增加到/etc/rc.local 或类似的其他文件中,则可以在启动服务器前从对应的文件中调用c h e c k _ mysql_ tables。
如果正在使用System V 风格的启动方法从/etc/rc.d 目录之一中调用mysql. server,则过程稍有点复杂。这些目录中的启动脚本应该理解start 和stop 参数的含义,以便对系统的启动和关闭采取相应的操作。为了执行表的检查,我们可以编写这样的脚本:当参数为start 时调用c h e c k _ mysql_ tables,而当该参数为stop 时不做任何事情。让我们来调用这样的一个脚本
mysql. c h e c k,其内容如下:

现在,您已经可以使用一个过程来安装mysql. c h e c k了,该过程类似于在第11章所介绍的安装mysql.server 的过程。必须给mysql.check 一个运行级目录中较低的前缀号,才能使得它在mysql.server 前运行。例如,如果在运行级目录中以S99mysql.server 链接到mysql. server,则应该以S98mysql.check 链接到mysql.check 。
上一篇: Mysql入门系列:获得和安装samp_db样例数据库分发包
下一篇: Mysql入门系列:在Windows上安装MySQL
英特尔 酷睿(TM)2双核,送指纹识别器一个,再赠两份好礼,请电800-858-2418