建立MySQL数据库日常维护规范

作者:佚名 来源:IT专家网论坛 时间:2009-03-20 12:34:00 

建立一个数据库表维护规范

在一个定期基础而非等到问题出现才实施数据库表的检查是一个好主意。应该考虑到建立一个预防性维护的时间表,以协助自动问题,是你可以采取措施进行修正:

执行常规的数据库备份并允许更新日志。

安排定期的常规表检查。通过检查表,将减少使用备份的机会。这个工作,在Windows下使用计划任务,Unix使用cron作业(一般从运行服务器所示用的该帐号的crontab文件中调用),并且很容易实现。

例如,你作为mysql用户运行服务器,则可以从mysql的crontab文件中建立定期检查。如果你不知道如何使用cron,应使用下列命令查看相关的Unix手册页:

         $man cron
  $man crontab
 
作为服务器启动前的系统引导期间检查数据库表。及其可能会因早期的崩溃而重新启动。如果这样的花,数据库表可能已被毁坏,应该对它进行彻底检查。

创建一个适用于定期维护的脚本

为了运行自动的表检查,可以编写一个脚本,将目录改变为服务器数据目录并对所有的数据库表进行myisamchk和isamchk。如果你只有MyISAM表或者只有ISAM表,则只需要其中一个程序,可以将无关的那个程序从脚本中注释掉。

该教本可以被cron调用,或者在系统启动期间被调用。

为维护目的,你能使用myisamchk -s检查桌子。-s,--silent选项使myisamchk和isamchk以沉默模式运行,只有当错误出现时,才仅仅打印消息。另外myisamchk支持--fast选项,该选项允许程序跳过自上次检查以来没有被修改过的人和表。

1. 一个简单的脚本

例如,一个较为容易理解的简单脚本,它在服务器目录中检查所有表(DATADIR应该修改成对应你系统的合适的值):

         #!/bin/sh
      cd DATADIR

      myisamchk --silent --fast */*.MYIi

      samchk --silent */*.ISM
 
2. 一个较为复杂的脚本

实用此脚本的一个潜在的问题时:如果有许多表,通配符模式‘*/*.MYI’和‘*/*.ISM’可能会由于“too many arguments(参数过多)”或者命令行超过shell允许的长度而无法使用。脚本可以进一步修改为(同样,DATADIR修改为适合你系统上的值):

         #!/bin/sh
      datadir=DATADIR

       find $dtatdir –name “*. MYI” -print | xargs myisamchk --silent --fast

       find $dtatdir –name “*. ISM” -print | xargs isamchk --silent
 
当然你也可以在脚本中指定多个数据库目录。

标签:MySQL数据库,日常维护,规范
0
投稿

猜你喜欢

  • Python实现的检测网站挂马程序

    2023-11-21 16:39:38
  • Pythonic版二分查找实现过程原理解析

    2022-01-20 18:01:39
  • 一些SQL查询语法参考

    2007-10-14 11:56:00
  • gin自定义中间件解决requestBody不可重复读问题(最新推荐)

    2023-10-26 05:19:12
  • python多线程爬取西刺代理的示例代码

    2021-05-27 04:32:57
  • MySQL大库搭建主从的一种思路分享

    2024-01-21 22:53:34
  • Oracle9i 动态SGA,PGA特性探索

    2009-04-24 12:39:00
  • 详解如何将python3.6软件的py文件打包成exe程序

    2022-09-26 00:10:21
  • selenium + python 获取table数据的示例讲解

    2021-02-20 11:57:46
  • Python实现微信好友数据爬取及分析

    2021-09-30 04:51:55
  • 简单谈谈GET和POST有什么区别

    2022-06-06 04:53:41
  • Python中dictionary items()系列函数的用法实例

    2023-11-23 08:03:03
  • Go语言实现遗传算法的实例代码

    2024-02-10 01:04:54
  • Dreamweaver MX打造弹出“向导”

    2009-07-21 12:41:00
  • 六条比较有用的MySQL数据库操作的SQL语句小结

    2024-01-26 21:00:46
  • 搭建websocket消息推送服务,必须要考虑的几个问题

    2023-11-28 12:23:45
  • ASP访问统计计数器代码

    2008-03-20 13:33:00
  • Python opencv图像基本操作学习之灰度图转换

    2023-02-17 09:04:43
  • 一些你可能不熟悉的JS知识点总结

    2024-04-17 09:46:24
  • python3 下载网络图片代码实例

    2021-11-21 01:11:40
  • asp之家 网络编程 m.aspxhome.com