mysql出现“Incorrect key file for table”处理方法

最近服务器出现问题,导致公司的网站数据丢了很多。智软的也丢了不少。这几天一直都在忙这 修复数据。

今天在恢复一个客户数据的时候。发现了一贯问题。有多个表损坏了。因为都是直接把表复制进去的。然后就出现了这个问题问题 如图:

dedecms Error Warnin!
Error infos: Incorrect key file for table 'it_member_snsmsg'; try to repair it


图片1
 

这个是说 表坏掉了。。

修复方法如上:

下面就是具体的操作方法:

在DEDE的后台SQL操作中直接输入

复制代码 代码如下:

repair table tablename;
REPAIR TABLE tablename USE_FRM

把 tablename换成表名就可以了!但是修复了 数据会丢掉。只能在把数据导入进去。

如果在服务器上操作我们可以使用 Navicat Lite for MySQL软件或者 用批处理
 

复制代码 代码如下:

cmd /k myisamchk --recover dede_archives

linux服务器出现了mysql错误的解决方法:

mysql> select * from Filter limit 4;
ERROR 1034 (HY000): Incorrect key file for table ‘Filter'; try to repair it

repair table修复后还是没有用:
mysql> repair table Filter;
+—————+——–+———-+———————————————————+
| Table         | Op     | Msg_type | Msg_text                                                |
+—————+——–+———-+———————————————————+
| pfsmtp.Filter | repair | Error    | Incorrect key file for table ‘Filter'; try to repair it |
| pfsmtp.Filter | repair | error    | Corrupt                                                 |

退出mysql,执行如下修复动作:
myisamchk -of /mail/var/mysql/smtp/Filter.MYI
myisamchk -r /mail/var/mysql/smtp/Filter.MYI
myisamchk safe-recover /mail/var/mysql/smtp/Filter.MYI

再重启mysql后修复正常了。

时间: 2024-09-18 20:28:42

mysql出现“Incorrect key file for table”处理方法的相关文章

mysql出现“Incorrect key file for table”处理方法_Mysql

最近服务器出现问题,导致公司的网站数据丢了很多.智软的也丢了不少.这几天一直都在忙这 修复数据. 今天在恢复一个客户数据的时候.发现了一贯问题.有多个表损坏了.因为都是直接把表复制进去的.然后就出现了这个问题问题 如图: dedecms Error Warnin!Error infos: Incorrect key file for table 'it_member_snsmsg'; try to repair it 图片1  这个是说 表坏掉了.. 修复方法如上: 下面就是具体的操作方法: 在

mysql中Incorrect key file for table: Try to repair it

损坏的症状 一个损坏的表的典型症状如下: 1 .当在从表中选择数据之时,你得到如下错误:Incorrect key file for table: '...'. Try to repair it 2 .查询不能在表中找到行或返回不完全的数据. 3 .Error: Table 'p' is marked as crashed and should be repaired . 4 .打开表失败: Can't open file: '×××.MYI' (errno: 145) . MySQL 表损坏的

安装MYSQL错误“conflicts with file from package mysql-libs-*” 解决方法

安装MYSQL的时候时: 错误现象: [root@localhost opt]# rpm -ivh MySQL-server-5.5.32-1.el6.x86_64.rpm Preparing... ########################################### [100%] file /usr/share/mysql/charsets/Index.xml from install of MySQL-server-5.5.32-1.el6.x86_64 conflicts

linux升级Mysql提示conflicts with file from package解决方法

首先发现不兼容包,所以我们要移除冲突的libs包,然后再去安装!  代码如下 复制代码 rpm -e --nodeps mysql-5.0.95-5.el5_9.x86_64 或者使用 yum -y remove mysql-libs-5.0.95* 然后我们安装mysql5.1就好了 rpm -ivh mysql-5.1.58-jason.1.i386.rpm 不推荐安装mysql5.5,第一队程序的兼容不是很好,队centos的兼容也不是很好! 前面有一个VPS在测试的时候就会出现了程序的不

Mysql数据表一直显示使用中的修复方法

打开phpmyadmin选择数据库查看,果然有3个表显示为"使用中".勾选之后进行"修复表",出现错误提示不能被修复. 于是接着从"分析表"."优化表"开始,均告失败.失败信息第一条:can't create new temp file 1.表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. 3. mysqld 进程在写表时被杀掉

mysql Cant open file:表名修改方法

mysql教程 cant open file:表名修改方法 1.can't open file: '[table]mytable.myi' 2.table 'picture' is marked as crashed and should be repaired 下面讲的方法只对myisam格式的表有效.其他类型的损坏需要从备份中恢复. 1,repair table sql statement(mysql服务必须处于运行状态). 2,命令mysqlcheck(mysql服务可以处于运行状态).

MySQL移动、重新命名数据表的方法

MySQL 的 Table 要搬到另外一个 DB.Table 重新命名.两个 Table 要互换名字 等, 要怎么做? MySQL 搬移.重新命名 Table 的方法 命令全部都使用 RENAME 就可以达成, MySQL Table 从 db_a 要搬到 db_b  代码如下 复制代码 RENAME TABLE db_a.old_table TO db_b.new_table; MySQL Table 改名字(重新命名)  代码如下 复制代码 RENAME TABLE old_table TO

深入mysql "ON DUPLICATE KEY UPDATE" 语法的分析

mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE:如果不会导致唯一值列重复的问题,则插入新行. 例如,如果列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果: 复制代码 代码如下: INSERT INTO TABLE (a,c) VALUES

修复MySQL的MyISAM表命令check table用法

MySQL日志文件里出现以下错误,MySQL表通常不会发生crash情况,一般是在更新数据库时MySQL停止会导致. CHECK TABLE语法 CHECK TABLE tbl_name[,tbl_name] ... [option] ... option= {QUICK | FAST | MEDIUM | EXTENDED | CHANGED} 检查一个或多个表是否有错误.CHECK TABLE对MyISAM和InnoDB表有作用.对于MyISAM表,关键字统计数据被更新. CHECK TAB