| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 |
    想学好编程,外语很重要,最新的编程技术还是在国外  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 数据库 >> mysql >> mysql教程 >> 文章正文
MySQL中文参考手册---13 维护MySQL安装            【字体:
MySQL中文参考手册---13 维护MySQL安装
作者:不详    文章来源:网络    点击数:    更新时间:2007-1-21

如果一张表已经用myisampack压缩了,myisamchk-d打印每个表列的附加信息。对于它的一个例子及其含义的描述,见12.5MySQL压缩只读表生成器。

13.4使用myisamchk进行崩溃恢复

MySQL用来存储数据的文件格式以已经被广泛地测试过,但是总是有外部情况可以导致数据库表被破坏:

  • sql/Index.html'>mysqld进程在一个写入当中被杀死。
  • 计算机的意外关闭(例如,如果计算机掉电)。
  • 一个硬件错误

这章描述如何检查和处理在MySQL数据库中的数据损坏。如果你的表损坏很多,你应该尝试找出其原因!见G.1调试一个MySQL服务器。

在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:

文件用途“tbl_name.frm”表定义(表格)文件“tbl_name.MYD”数据文件“tbl_name.MYI”索引文件

这3个文件的每一个文件类型可能遭受不同形式的损坏,但是问题最常发生在数据文件和索引文件。

myisamchk通过一行一行地创建一个“.MYD”(数据)文件的副本来工作,它通过由删除老的“.MYD文件并且重命名新文件到原来的文件名结束修复阶段。如果你使用--quickmyisamchk不创建一个临时“.MYD”文件,只是假定“.MYD”文件是正确的并且仅创建一个新的索引文件,不接触“.MYD”文件,这是安全的,因为myisamchk自动检测“.MYD”文件是否损坏并且在这种情况下,放弃修复。你也可以给myisamchk两个--quick选项。在这种情况下,myisamchk不会在一些错误上(象重复键)放弃,相反试图通过修改“.MYD”文件解决它们。通常,只有在你在太少的空闲磁盘空间上实施一个正常修复,使用两个--quick选项才有用。在这种情况下,你应该至少在运行myisamchk前做一个备份。

13.4.1怎样检查表的错误

为了检查一张表,使用下列命令:

myisamchktbl_name
这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s--silent选项的任何一个。
myisamchk-etbl_name
它做一个完全彻底的数据检查(-e意思是“扩展检查”)。它对每一行做每个键的读检查以证实他们确实指向正确的行。这在一个有很多键的大表上可能花很长时间。myisamchk通常将在它发现第一个错误以后停止。如果你想要获得更多的信息,你能增加--verbose(-v)选项。这使得myisamchk继续一直到最多20个错误。在一般使用中,一个简单的myisamchk(没有除表名以外的参数)就足够了。
myisamchk-e-itbl_name
象前面的命令一样,但是-i选项告诉myisamchk还打印出一些统计信息。

13.4.2怎样修复表

一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误:

  • “tbl_name.frm”被锁定不能改变。
  • 不能找到文件“tbl_name.MYI”(Errcode:###)。
  • 从表处理器的得到错误###(此时,错误135是一个例外)。
  • 意外的文件结束。
  • 记录文件被毁坏。

在这些情况下,你必须修复表。myisamchk通常能检测并且修复出错的大部分东西。

修复过程包含最多4个阶段,在下面描述。在你开始前,你应该cd数据库目录和检查表文件的权限,确保他们可被运行sql/Index.html'>mysqld的Unix用户读取(和你,因为你需要存取你正在检查的文件)。如果它拒绝你修改文件,他们也必须是可被你写入的。

上一页  [1] [2] [3] [4] [5] [6] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • MySQL数据的导出和导入工具:…

  • mysql授课大纲

  • mysql技巧总结

  • PPTP + MPPE + RADIUS + MyS…

  • 使用函数递归实现基于php和M…

  • 基于MySQL的高性能数据库应用…

  • Mysql日期和时间函数

  • 深圳讯天 mysql 服务器错误分…

  • 几分钟让你走进mysql的门

  • 针对 Apache 2.x 的 MySQL 用…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |