zoukankan      html  css  js  c++  java
  • MySQL 坏表处理

    MySQL数据表坏掉了。应用程序连接数据库提到如下的异常:

    1 java.sql.SQLException: Can't open file: 'kq_attTemp.MYI'. (errno: 145)
    2         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921)
    3         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
    4         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
    5         at com.mysql.jdbc.Connection.execSQL(Connection.java:2972)
    6         at com.mysql.jdbc.Connection.execSQL(Connection.java:2902)
    7         at com.mysql.jdbc.Statement.executeQuery(Statement.java:822

    解决方法:
    进入MySQL,使用MySQL修复命令修复该表。
    CHECK TABLE `music`//检查表
    REPAIR TABLE `music`//修复表
    OPTIMIZE TABLE `music`//优化表

    使用第二条修复命令就解决了问题。但是表却坏得莫名其妙的……
    以下是其它网友提供的解决方案,但是不保证一定有效:
    用命令myisamchk可以检查并修复MyISAM表
    如:
    myisamchk music
    myisamchk 
    --recover music

    如果是InnoDB表,可以在mysql
    >提示符下用
    CHECK TABLE来检测是否有问题
    如果有问题,可以用mysqldump导出,drop table, 用dump的数据重建该表的方式修复


  • 相关阅读:
    Dockerfile构建
    ElasticSearch学习之集成客户端
    区块链学习之Hyperledger Fabric开发环境搭建(Go+Docker+Fabric)
    区块链学习之什么是区块链(基础入门)
    python学习之多版本管理及Python安装/卸载遇到的坑(MAC版)
    ElasticSearch学习之基本原理概述
    ElasticSearch学习之基本概念及单机/集群部署
    Kafka学习之Kafka选举机制简述
    Kafka学习之内核原理剖析
    通过idea将java项目发布到harbor仓库
  • 原文地址:https://www.cnblogs.com/ungshow/p/1495031.html
Copyright © 2011-2022 走看看