《mysql数据表崩溃/损坏解决办法》相关文章收集(1)
2012-12-26 10:51
330 查看
今天早上来到公司,启动server,发现在执行sql语句的时候,服务器进入假死状态。一开始以为是新加的锁出现了死锁的问题,后来发现不是这个原因。查看进程,发现mysql-nt的cpu占用率25%,4核的机器,也就是说mysql服务本身一直在空跑。而且在做插入操作的时候,mysql提示错误“Duplicate entry ‘xxx’ for key 1"。
也就是说插入的时候主键重复了,desc了一下table,发现table的auto_increament的设置是正常的,这个时候select一下出错的key,发现mysql提示table crash了,需要repair。回想一下,可能是由于前一天做压力测试的时候,机器本身突然停机了,导致mysql的table出现了异常。这种情况以前一直都没发生过,还是头一回。然后repair table,mysql语法是repair table 表名。 依次repair了多个table,然后再次重启机器,服务正常运行了。
总的来说,就是由于table本身的crash导致了内部数据结构的紊乱,造成查询和插入操作都不正确了。
也就是说插入的时候主键重复了,desc了一下table,发现table的auto_increament的设置是正常的,这个时候select一下出错的key,发现mysql提示table crash了,需要repair。回想一下,可能是由于前一天做压力测试的时候,机器本身突然停机了,导致mysql的table出现了异常。这种情况以前一直都没发生过,还是头一回。然后repair table,mysql语法是repair table 表名。 依次repair了多个table,然后再次重启机器,服务正常运行了。
总的来说,就是由于table本身的crash导致了内部数据结构的紊乱,造成查询和插入操作都不正确了。
相关文章推荐
- 《mysql数据表崩溃/损坏解决办法》相关文章收集(2)
- mysql导入数据时提示 USING BTREE 相关错误解决办法
- mysql导入数据时提示 USING BTREE 相关错误解决办法
- 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法
- KAV6导致部分程序崩溃的解决办法(kernel32.dll相关)
- JDBC链接mysql插入数据后显示问号的原因及解决办法
- MYSQL数据库导入数据时出现乱码的解决办法mysql_query('set names utf-8');
- MySQL数据导入报“MySQL服务器已离线错误”的解决办法
- 【MySQL】关于批量增加测试数据的解决办法
- mysql中的唯一键索引,插入重复数据直接报错的解决办法
- KAV6导致部分程序崩溃的解决办法(kernel32.dll相关)
- 一次非法关机导致mysql数据表损坏的实例解决
- TOAD FOR MYSQL 进行数据插入时乱码的解决办法---MariaDB 5.5
- mysql通过sql文件导入数据时出现乱码的解决办法
- navicat of mysql导入数据时 USING BTREE 错误解决办法
- linux 下 mysql下保存进去数据为乱码的解决办法(centos5.x)
- 使用hibernate与mysql时数据不能插入的原因及解决办法
- mysql导入数据时 USING BTREE 错误解决办法
- mysql数据表中文乱码解决办法
- MySQL中数据备份或转移后出现“使用中”和"doesn’t exist"解决办法