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的数据重建该表的方式修复


  • 相关阅读:
    认识Linux
    Java之安装环境
    Markdown学习
    使用cacti监控linux server的接口流量
    IDRAC安装dell服务器操作系统(linux or windows),用到生命周期管理器
    网络编程--练习题
    linux搭建ntp服务器-添加交换机客户端,windows客户端
    linux centos7搭建redis-5.0.5
    linux centos7搭建mysql-5.7.29
    对称加密与非对称加密
  • 原文地址:https://www.cnblogs.com/ungshow/p/1495031.html
Copyright © 2011-2022 走看看