当前位置:七道奇文章资讯系统安全Linux安全
日期:2011-01-23 03:26:00  来源:本站整理

若何实现MySQL数据库表中的弊端检测?[Linux安全]

赞助商链接



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

我们大家在利用MySQL数据库的历程中,会碰到很多种不测而招致数据库表的破坏,并且这些数据都是新的数据,我们普通在备份数据找,但是普通的情形是找不到的.本章将报告若何检测MySQL数据库表的弊端.

表的弊端检测和改正的普通历程以下:

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

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

开始修复数据库表.

假如修复失利,从数据库的备份或更新日记中恢复数据.

在利用myisamchk或isamchk查抄或修复表之前,应当首先注意:

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

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

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

数据库表的保护工具

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

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

  1. shell>myisamchk options tbl_name shell>isamchk options tbl_name   

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

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

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

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

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

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

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

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

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

查抄数据库表

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

尺度的办法查抄表

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

  1. myisamchk tbl_name isamchk tbl_name 

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

完好完好的数据查抄

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

  1. myisamchk -e tbl_name isamchk -e tbl_name   

它做一个完好完好的数据查抄(-e意思是“扩大查抄”).它对每一行做每个键的读查抄以证实他们确切指向精确的行.这在一个有很多键的大表上大概花很长时间.myisamchk普通将在它发现第一个错误今后终止.

假如你想要得到更多的信息,你能增添--verbose(-v)选项.这使得myisamchk或isamchk持续一向到最多20个错误.在普通利用中,一个简单的尺度查抄(没有除表名以外的参数)就充足了.

中等程度的查抄

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

  1. myisamchk -m tbl_name 

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

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

大概有效的查抄选项:

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

  1. myisamchk -e -i tbl_name 

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

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

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

  • Windows Professional 7 (专业版)中若何实现自动登入系统
  • 若何实现MySQL中的用户管理?
  • 若何实现MSSQL中Sql标签select随机读取数据
  • 在Java中若何实现长时间任务
  • 若何实现二维向量
  • <b>在Java Web操纵中若何实现任务有效调度</b>
  • 若何实现鼠标拖放文件
  • 若何实现大图标气势的翻开对话框
  • <b>若何实现进程间数据通讯技术</b>
  • <b>C++编译器若何实现非常处理</b>
  • <b>若何实现开源操作系统Ubuntu服务器系统备份</b>
  • <b>Linux系统下FTP服务器若何实现安全性</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

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

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