天空小小岛技术论坛

 找回密码
 注册
搜索
查看: 9447|回复: 0
打印 上一主题 下一主题

myisamchk 修复表索引

[复制链接]
跳转到指定楼层
#
一粒米 发表于 2010-12-1 19:31:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
mysql 手册里一句话:
警告:如果你在创建了任何数据库表之后改变字符集,你将必须对每个表运行myisamchk -r -q --set-character-set=charset,否则索引可能不正确地排序。(如果安装了MySQL,创建一些表,然后重新配置MySQL使用一个不同的字符集并且重新安装它,这时就可能发生这种情况。)

当数据表不正常关闭(例如服务器不正常关机, 停电, 当机), 数据库索引文件将有可能损坏. 这种情况下可以尝试以下的修复方式来进行修复. 不是顺序执行, 是三种方法. 操作前请关闭数据库并备份好, 以防万一.

1.安全修复: 使用 -q 参数将跳过数据文件操作, 直接修复索引文件
  1. myisamchk -r -q tablename
复制代码
2. 完全修复: 这个操作将会处理数据文件, 不正确删除的记录将会被删除. 所以做此项操作前必须备份数据库文件.
  1. myisamchk -r  tablename
复制代码
3.重建索引:

  1. myisamchk --keys-used=0 -rq tablename
  2. myisamchk -r -q  tablename
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|天空小小岛  |京ICP备2025130156号|

GMT+8, 2025-6-22 12:53 , Processed in 0.099985 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表