zoukankan      html  css  js  c++  java
  • MySQL数据库表修复--MyISAM

    一:MySQL中MyISAM表损坏原因总结:

    1、 服务器突然断电导致数据文件损坏;强制关机,没有先关闭mysql 服务;mysqld 进程在写表时被杀掉。

    2、 磁盘损坏。

    3、 服务器死机。

    4、 mysql 本身的bug 。

    二:MySQL中MyISAM表损坏的症状总结:

    1 、查询数据时报出错误:Incorrect key file for table: '...'. Try to repair it

    2 、查询不能在表中找到行或返回不完全的数据。

    3 、Error: Table '...' is marked as crashed and should be repaired 。

    4 、打开表失败: Can’t open file: ‘×××.MYI’ (errno: 145) 。

    三:MySQL中MyISAM表损坏的预防:

    1 、定期检查MyISAM 表。可以使用myisamchk,也可以使用mysqlcheck,还可以使用check table。

    2 、在做过大量的更新或删除操作后,使用mysqlcheck或者optimize table来优化表,这样既减少了文件碎片,又减少了表损坏的概率。 3 、关闭服务器前,先关闭mysqld (正常关闭服务,不要使用kill -9 来杀进程)。

    4 、使用ups 电源,避免出现突然断电的情况。

    5 、使用最新的稳定发布版mysql ,减少mysql 本身的bug 导致表损坏。

    6 、对磁盘做raid ,减少磁盘出错并提高性能。

    7 、数据库服务器最好只跑mysqld 和必要的其他服务,不要跑其他业务服务,这样减少死机导致表损坏的可能。

    四:MySQL中MyISAM表损坏的修复总结:

    1 、如果mysqld已经宕掉,且无法启动,那么可以通过mysiamchk工具来进行修复。此工具在mysqld服务没有启动时才可以使用。该工具可以检查并分析修复MyISAM表。

    2 、如果mysqld仍在运行,或者可以重新启动,那么可以通过mysqlcheck工具来进行修复。或者直接通过mysql的内置修复SQL语句来修复:CHECK TABLE,REPAIR TABLE ,ANALYSE TABLE,OPTIMIZE TABLE。这两种方法可以同样达到对表的修复作用。 以上两种方式各有应用场景。

  • 相关阅读:
    Java操作redis
    Ajax & Json
    【转载】K8s-Pod时区与宿主时区时区同步
    【转载】Python中如何将字符串作为变量名
    【转载】python实现dubbo接口的调用
    机器学习避坑指南:训练集/测试集分布一致性检查
    机器学习深度研究:特征选择中几个重要的统计学概念
    机器学习数学基础:学习线性代数,千万不要误入歧途!推荐一个正确学习路线
    被 Pandas read_csv 坑了
    print('Hello World!')的新玩法
  • 原文地址:https://www.cnblogs.com/littlehb/p/3067171.html
Copyright © 2011-2022 走看看