在服务器数据目录中检查所有表的一个简单的脚本如下( DATADIR 应该修改成对应您系统的值):
实用此脚本的一个潜在的问题是:如果有许多表,通配符模式‘ * / * . M Y I’或‘* / * . I S M’可能会由于“ too many arg um e n t s(过多的参数)”错误使外壳程序爆炸。另一个可选择的脚本如下(同样,将DATADIR 改变为对应您系统的值):
不论您选择哪种形式的脚本,笔者都假定您调用的是c h e c k _ mysql_ tables,应确保及时改变该方式使它可执行,然后您手工调用它以验证它工作是否正常:
如果您正在使用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 。