mysql表损坏故障案例

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/1347483

开发人员反映猎豹有个功能报500错误,让我查一下服务器上有没有做过什么调整,额,不会吧,今天元旦啊,谁会闲的蛋疼去调试服务器啊,最后他们查到了和一个表有关的sql都执行不了,
那肯定是这个表损坏了,查看数据库:


1

2

3

4

5

6

7

8

mysql> use xx_sync

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> desc extension_1;

ERROR 145 (HY000): Table './xx_sync/extension_1' is marked as crashed and should be repaired

mysql> quit

Bye

靠,果然损坏了,修复吧,(myisamchk  -r 数据库表MYI文件的路径),修复之前记得备份哦。


1

2

3

4

5

6

7

8

[root@yw_db_yj xx_sync]#  ./bmyisamchk -r db/xx_sync/extension_1.MYI

- recovering (with sort) MyISAM-table 'db/xx_sync/extension_1.MYI'

Data records: 101539

- Fixing index 1

myisamchk: warning: Duplicate key for record at   26664372 against record at   16160720

- Fixing index 2

Data records: 101538

myisamchk: warning: 1 records have been removed

PS:如果这样还不行那就加-f 参数强制修复

看一下是否修复ok:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

[root@yw_db_yj xx_sync]#  ./bin/mysql -uroot -p123456 --sock=logs/mysql.sock

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 549105657

Server version: 5.5.15-log Source distribution

Copyright (c) 20002010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use xx_sync

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> desc extension_1;

+------------+-------------+------+-----+---------+----------------+

| Field      | Type        | Null | Key | Default | Extra          |

+------------+-------------+------+-----+---------+----------------+

| id         | int(11)     | NO   | PRI | NULL    | auto_increment |

| passport   | varchar(64) | YES  | UNI | NULL    |                |

| content    | longtext    | NO   |     | NULL    |                |

| checkcode  | varchar(45) | YES  |     | NULL    |                |

| createtime | int(11)     | YES  |     | NULL    |                |

| updatetime | int(11)     | YES  |     | NULL    |                |

+------------+-------------+------+-----+---------+----------------+

6 rows in set (0.02 sec)

mysql> quit

Bye

 

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/1347483

时间: 2024-09-20 07:09:54

mysql表损坏故障案例的相关文章

怎么修复windows7系统注册表损坏故障

  系统注册表损坏,用U盘启动修复失败,而用注册表修复工具提示找不到相应的dll文件,其实我们可以使用系统备份的注册表文件替换现有的解决,解决方法如下: 1.首先用win7系统U盘或光盘启动,然后打开cmd窗口,在打开的命令提示符窗口中输入下面命令然后回车; C:windowssystem32configRegBack 2.然后使用copy命令将该目录下的所有文件都拷贝到C:windowssystem32config目录下,命令如下: copy C:windowssystem32configRe

MYSQL数据表损坏的原因分析和修复方法

1.       表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. 3. mysqld 进程在写表时被杀掉. 4. 使用myisamchk 的同时,mysqld 也在操作表. 5. 磁盘故障. 6. 服务器死机. 7. mysql 本身的bug .   2.       表损坏的症状 一个损坏的表的典型症状如下: 1 .当在从表中选择数据之时,你得到如下错误: Incorrect key file

MYSQL数据表损坏的原因分析和修复方法小结(推荐)_Mysql

1.表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. 3. mysqld 进程在写表时被杀掉. 4. 使用myisamchk 的同时,mysqld 也在操作表. 5. 磁盘故障. 6. 服务器死机. 7. mysql 本身的bug . 2.表损坏的症状 一个损坏的表的典型症状如下: 1 .当在从表中选择数据之时,你得到如下错误: Incorrect key file for table: '...

MySQL中损坏的MyISAM表

即使MyISAM表格式非常可靠(SQL语句对表做的所有改变在语句返回之前被写下),如果下列任何事件发生,你依然可以获得损坏的表: · MySQLd进程在写中间被杀掉. · 发生未预期的计算机关闭(例如,计算机被关闭). · 硬件故障. · 你可以同时在正被服务器修改的表上使用外部程序(如myisamchk). · MySQL或MyISAM代码的软件缺陷. 一个损坏的表的典型症状如下: · 当在从表中选择数据之时,你得到如下错误: · Incorrect key file for table: '

MySQL数据表损坏的修复方法详解

1.表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. 3. mysqld 进程在写表时被杀掉. 4. 使用myisamchk 的同时,mysqld 也在操作表. 5. 磁盘故障. 6. 服务器死机. 7. mysql 本身的bug . 2.表损坏的症状 一个损坏的表的典型症状如下: 1 .当在从表中选择数据之时,你得到如下错误: Incorrect key file for table: '-'.

MySQL数据库INNODB 表损坏修复过程

  突然收到MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了.innodb表损坏不能通过repair table 等修复myisam的命令操作.现在记录下解决过程,下次遇到就不会这么手忙脚乱了. 处理过程: 一遇到报警之后,直接打开错误日志,里面的信息: InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 30506. InnoDB: You may have

Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)_Mysql

本文为大家分享了解决Mysql存储引擎MyISAM常见问题的方法,供大家参考,具体内容如下 一.处理MyISAM存储引擎的表损坏 在使用MySQL,可能会遇到过MyISAM存储引擎的表损坏的情况.如以下情况: .frm被锁定不能修改 找不到.myi文件(索引文件) 意外结束记录 文件被毁坏 从表处理器得到错误nnn 解决办法1: 使用MySQL自带的myisamchk工具进行修复 打开bin目录,可以看到该工具   命令如下 myisamchk -r tablename r代表recover 或

一次非法关机导致mysql数据表损坏的实例解决_Mysql

排查修复数据表的经过: 1.访问网页,提示错误,连接不到数据库. 2.启动mysql服务,卸载和关闭rpm安装的mysql服务 (昨天安装postfix好像yum安装了mysql),用netstat -anp |grep mysqld 命令查看mysql服务没有起来,用mysql -uroot -p也连接不到服务器. 3.查看错误提示:110726 17:02:23 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgra

MySQL数据库INNODB表损坏修复处理过程分享_Mysql

突然收到MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了.innodb表损坏不能通过repair table 等修复myisam的命令操作.现在记录下解决过程,下次遇到就不会这么手忙脚乱了. 处理过程: 一遇到报警之后,直接打开错误日志,里面的信息: InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 30506. InnoDB: You may have t