当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-05-02 15:51:00  来源:本站整理

MySQL数据库表的弊端检测[MySQL防范]

赞助商链接



  本文“MySQL数据库表的弊端检测[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

MySQL数据库表的弊端检测,表的弊端检测和改正的普通历程以下:

◆ 查抄出错的表.假如该表查抄通过,则完成任务,不然必须修复出错的数据库表.

◆ 在开始修复之前对表文件举行拷贝,以保证数据的安全.

◆ 开始修复数据库表.

◆ 假如修复失利,从数据库的备份或更新日记中恢复数据.
在利用myisamchk或isamchk查抄或修复表之前,应当首先注意:

◆ 成立数据库备份和利用更新日记,以防修复失利,丧失数据.

◆ 细心阅读本章内容今后再举行操作,特别是不该该在阅读"避免与MySQL服务器交互作用"之前举行操作.因为,在你没有充足的知识之前冒然操作,大概会惹起严重的后果.

◆ 假如你在Unix平台上对表举行保护时,应当首先注册到专用的帐户 mysql,以避免对表读写拜候产生全部权的问题,以及破坏数据库目录的全部权限.

数据库表的保护工具

MySQL的myisanchk和isamchk实用程序很近似,基本上它们具有一样的利用办法.它们之间的主要辨别时所利用的表的范例.为了查抄/修复MyISAM表(.MYI和.MYD),你应当利用myisamchk实用程序.为了查抄/修复ISAM表(.ISM和.ISD),你应当利用isamchk实用程序.

◆ 为了利用任一个利用程序,应指明你要查抄或修复的表,myisamchk和isamchk的利用办法为:

shell>myisamchk options tbl_name shell>isamchk options tbl_name 


假如你乐意,你可以在号令行命名几个表.

◆ 你也能指定一个名字作为一个索引文件(用" .MYI"或".ISM"后缀),它答应你通过利用情势"*.MYI"或".ISM"指定在一个目录全部的表.比方,假如你在一个数据库目录,你可以这样在目录下查抄全部的表:

shell> myisamchk *.MYI shell>isamchk *.ISM

◆ 假如你不在数据库目录下,你可指定目录的途径:

shell> myisamchk options /path/to/database_dir/*.MYI shell> isamchk options  /path/to/database_dir/*.ISM

◆ 你乃至可以通过为MySQL数据目录的途径指定一个通配符来作用于全部的数据库中的全部表:

shell> myisamchk options /path/to/datadir/*/*.MYIshell> isamchk options /path/to/database_dir/*/*.ISM

这个办法无法在windows平台下利用.

注意  不管是myisamchk还是isamchk都不对表所在的位置做任何判断,因此,应当大概在包含表文件的目录运路程序,大概指定表的途径名.这答应你将表文件拷贝到另一个目录中并用该拷贝举行操作.

查抄数据库表

myisamchk和isamchk供应了表的查抄办法,这些办法在完好查抄表的程度方面有差别.

尺度的办法查抄表

普通用尺度的办法就充足了.对表利用尺度的办法举行查抄,不利用任何选项直接调用便可,或用-s或--silent选项的任何一个:

myisamchk tbl_name isamchk tbl_name

这能找出全部错误的99.99%.它不能找出的是仅仅触及数据文件的破坏(这很不常见).

完好完好的数据查抄

为了履行扩大查抄,利用--extend-check或-e选项,这个选项查抄数据:

myisamchk -e tbl_name isamchk -e tbl_name

它做一个完好完好的数据查抄(-e意思是"扩大查抄").它对每一行做每个键的读查抄以证实他们确切指向精确的行.这在一个有很多键的大表上大概花很长时间.myisamchk普通将在它发现第一个错误今后终止.假如你想要得到更多的信息,你能增添--verbose(-v)选项.这使得myisamchk或isamchk持续一向到最多20个错误.在普通利用中,一个简单的尺度查抄(没有除表名以外的参数)就充足了.

中等程度的查抄

指定选项--medium-check或-m

myisamchk -m tbl_name

中等程度的查抄不如扩大查抄完好,但速度快一些.其意义不大,较少利用.

假如关于--extend-check查抄不报告错误,则可以必定表是无缺的.假如你仍旧感受表有问题,那缘由必定在别的地方.应重新查抄人和仿佛有问题的查询以考证查询是精确书写的.假如你认为问题大概是MySQL服务器的缘由,应当考虑整理一份弊端报告大概进级到新的版本上.
大概有效的查抄选项:

1.-i或—information 打印统计信息,比方:

myisamchk -e -i tbl_name 

象前面的号令一样,但是-i选项奉告myisamchk还打印出一些统计信息.

2.-C, --check-only-changed

只查抄上一次查抄后被改正的表   以上是“MySQL数据库表的弊端检测[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Windows 搭配 IIS7 PHP MySQL 环境
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • mysql数据库插入速度和读取速度的调整记录
  • MySQL Order By索引优化办法
  • MySQL Order By用法分享
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL Order By Rand()效率解析
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .