TA的每日心情 | 擦汗 21 小时前 |
---|
签到天数: 41 天 [LV.5]常住居民I
超级版主
 
- 积分
- 304031
|
建立一个数据库表维护规范
在一个定期基础而非等到问题出现才施数据库表的检查是一个好主意。应该考虑到建立一个预防性维护的时间表,以协助自动问题,是你可以采取措施进行修正:
执行常规的数据库备份并允许更新日志。
安排定期的常规表检查。通过检查表,将减少使用备份的机会。这个工作,在W下使用计划任务,U使用作业(一般从运行服务器所示用的该帐号的文件中调用),并且很容易现。
例如,你作为用户运行服务器,则可以从的文件中建立定期检查。如果你不知道如何使用,应使用下列命令查看相关的U手册页:
$
$
作为服务器启动前的系统引导期间检查数据库表。及其可能会因早期的崩溃而重新启动。如果这样的花,数据库表可能已被毁坏,应该对它进行彻底检查。
创建一个适用于定期维护的脚本
为了运行自动的表检查,可以编写一个脚本,将目录改变为服务器数据目录并对所有的数据库表进行和。如果你只有MISAM表或者只有ISAM表,则只需要其中一个程序,可以将关的那个程序从脚本中注释掉。
该教本可以被调用,或者在系统启动期间被调用。
为维护目的,你能使用-检查桌子。-,--选项使和以沉默模式运行,只有当错误出现时,才仅仅打印消息。另外支持--选项,该选项允许程序跳过自上次检查以来没有被修改过的人和表。
1一个简单的脚本
例如,一个较为容易理解的简单脚本,它在服务器目录中检查所有表(DATADIR应该修改成对应你系统的合适的值):
#!DATADIR----**MYI--**ISM
2一个较为复杂的脚本
用此脚本的一个潜在的问题时:如果有许多表,通配符模式‘**MYI’和‘**ISM’可能会由于“(参数过多)”或者命令行超过允许的长度而法使用。脚本可以进一步修改为(同样,DATADIR修改为适合你系统上的值):
#!=DATADIR$–“*MYI”-|----$–“*ISM”-|--
当然你也可以在脚本中指定多个数据库目录。
3如何执行脚本
假定你将脚本存为_,应该确保它是可执行的,当然建议你首先切换到专用户:
$$_(编辑脚本,你也可以使用你喜欢的编辑器)$+_
手工执行,检测你的脚本是否有错误:
$_
在理想情况下应该没有输出结果。如果系统不支持外部锁定,游客蒽那个服务器将在你检查表时改变它。此时,脚本可能会把际没有问题的表报告呈有问题的。如果系统能够支持外部锁定,则该问题就不会出现。 |
|