如何修复损坏的MyISAM表
来源:互联网 发布:python 写日志 编辑:程序博客网 时间:2024/05/22 16:51
当我们用PHPMyAdmin浏览数据库时,有时候会发现某些MyISAM表的Collation项显示为“in use”,这多半说明此表已经损坏。即便是没有出现“in use”字样,也不能就此说明表是完好无损的,熟悉检查及修复方法是必须的。
通过语句:
检查表使用CHECK TABLE语句,如下:
CHECK TABLE tbl_name [, tbl_name] ... [option] ...
option = {FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED}
修复表使用REPAIR TABLE语句,如下:
REPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE
tbl_name [, tbl_name] ...
[QUICK] [EXTENDED] [USE_FRM]
通过命令:
检查修复表可以使用myisamchk命令:
myisamchk [options] tbl_name ...
如果没有指定参数,那么myisamchk命令缺省执行的就是检查动作。若是要修复表,可以使用-r或-o参数,应该优先使用-r修复,不行的话再使用-o修复。此外,在修复前应该使用FLUSH TABLES刷新缓存,并关闭数据库服务器或者锁定所有的待修复表,以确保在修复过程中不会有其他写操作。
自动修复:
在my.cnf配置文件中的mysqld部分设定myisam-recover参数,当服务启动时可以自动修复有问题的表(速度快慢视数据多少):
[mysqld]
myisam-recover [= options]
参数有DEFAULT,BACKUP,FORCE,QUICK,可以设定为BACKUP,FORCE,万万不可单独设置成FORCE,否则数据文件丢了都没处哭去。
应该尽量使用myisamchk命令去修复,不行再用repair语句去修复(慢),还不行就参考下面链接。
- 如何修复损坏的MyISAM表
- 如何修复损坏的MyISAM表
- 修复损坏的MyISAM表
- mysql 基础-myisam表损坏及修复
- 如何修复MYISAM表?
- Mysql表使用中,Mysql下修复MYISAM表, MySQL数据表损坏的巧妙修复
- 如何修复损坏的硬盘分区
- MySQL中MyISAM文件损坏时的一种修复方法
- MYISAM表损坏 通过mysqlcheck进行表修复
- 如何修复损坏的数据库文件FoxPro的?
- 如何尝试修复损坏的Access文件
- 请问如何修复损坏的jpg文件
- 如何修复损坏的MySQL数据表
- 如何修复损坏的MySQL数据表[转]
- 如何修复损坏的MySQL数据表
- 自动修复MySQL的myisam表
- MySQL---修复MyISAM表
- Oracle undo表空间损坏的修复
- Jackson设计方法&JACKSON分析方法
- 不同数据库获取前N条记录的Sql书写
- C++多线程调试和测试的注意事项
- 有个java程序老是运行不出来,希望大虾们帮帮忙指点一下
- EAR文件结构
- 如何修复损坏的MyISAM表
- 新手上路
- 共同分享
- web 2.0海量小文件cache集群探讨[转载]
- CSS+DIV
- 毛咕咕 百度有啊现在每天的成交量:
- Debian 5.0(Lenny)下安装Mono 2.4和MonoDevelop 2.0
- 扩展GridView
- 用星际快速入门PHP面向对象编程(修订版)