首页 > 数据库 >mysql: "tablename" is marked as crashed and should be repaired修复 问题分析: 当mysql出现这类提示时,大部分的

mysql: "tablename" is marked as crashed and should be repaired修复 问题分析: 当mysql出现这类提示时,大部分的

时间:2022-12-20 11:00:39浏览次数:53  
标签:文件 修复 5.6 数据库 tablename marked 索引 mysql


问题分析:

当mysql出现这类提示时,大部分的现象为查询不到正常的表记录,或者只能查询到部分。


主要的原因是对应表的索引文件被损坏,导致索引文件损坏的可能原因有:


  1. 频繁的读写表记录
  2. 数据库服务器非正常关闭,比如:断电


问题修复:

好在mysql提供了索引文件的修复工具,通过修复功能一般都可以使数据修复正常。


修复工具之前搜索有2个:


myisamchk -c -r -f /path/to/tablename.MYI

使用这个命令需要先查找到对应表的索引文件,即*.MYI文件【mysql index的缩写】


这个文件是存储在mysql的data目录下,而这个data目录因mysql的版本不同,存放位置也不一样。甚至不同类型的操作系统存放的都不在一个位置。通常mysql的data目录会在这几个路径:

%PROGRAMDATA%\MySQL\MySQL Server 5.6\ [mysql 5.6.8+, win7]
%WINDIR%\
INSTALLDIR\ [mysql 5.6.8-]
%APPDATA%\MySQL\ [mysql 5.6.8+, windows 2003]


mysqlcheck -u root -p dbname --auto-repair

使用这个命令就不在需要查找MYI文件的路径了,它会根据提供的数据库名,自动的遍历全部数据表。最后针对需要修复的表进行修复。



本次成功恢复数据使用的就是第二种方法【windows server 2003 + mysql 5.6.28】,修复结果如下图


mysql: "tablename" is marked as crashed and should be repaired修复  问题分析: 当mysql出现这类提示时,大部分的现象为查询不到正常的_crashed



数据备份:

当然了,除了出现问题是需要找方法修复;其实最重要的还是平时定期的备份数据库。


这样即使哪天数据库都没了,我们还是依然能够恢复数据的。数据库备份命令:


mysqldump -u root -p dbname > dbname.sql


标签:文件,修复,5.6,数据库,tablename,marked,索引,mysql
From: https://blog.51cto.com/u_15918230/5954471

相关文章

  • MySQL批量插入数据的四种方案(性能测试对比)
    本文记录个人使用MySQL插入大数据总结较实用的方案,通过对常用插入大数据的4种方式进行测试,即for循环单条、拼接SQL、批量插入saveBatch()、循环+开启批处理模式,得出比较......
  • 【MySQL】登录密码连续错误锁定账户,Failed-Login Tracking 和 Temporary Account Lock
    MySQL8.0.19及更新版本,支持连续几次输入错误密码,锁定账户功能FAILED_LOGIN_ATTEMPTS:代表尝试失败的次数PASSWORD_LOCK_TIME:代表锁定的时间,单位天。#指定策略和加密插件......
  • mysql事务隔离级别详解和实战
    A事务做了操作 没有提交 对B事务来说 就等于没做 获取的都是之前的数据但是 在A事务中查询的话 查到的都是操作之后的数据没有提交的数据只有自己看得到,并没有update......
  • 俗话:MySQL索引
    MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程......
  • mysql 获取某月所有上午的数据
    (SELECT*,count(1),SUM(if(ARRIVE.ARRIVE_TIME!='无',1,0))assFROMlt_cleanroute_point_arriveASARRIVEWHEREDATE_FORMAT(data_dt,'%Y-%m......
  • 一文速学-玩转MySQL获取时间、格式转换各类操作方法详解
    本文正在参加「技术专题19期漫谈数据库技术」活动前言时间在数据库中经常作为时间索引,在数据入库和出库以及更新的时候都需要变化。在一些指标计算或者是提取某段时间的......
  • MySQL索引背后的数据结构及算法原理
    摘要:看到的一篇关于MySql索引的介绍,感觉比较经典,直接转了。 摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸......
  • 实时采集MySQL数据之轻量工具Maxwell实操
    @目录概述定义原理Binlog说明Maxwell和Canal的区别部署安装MySQL准备初始化Maxwell元数据库Maxwell进程启动命令行参数配置文件实时监控Mysql输出KafkaKafkaTopic分区控制......
  • MySQL
    MySQL导入数据本章节我们为大家介绍几种简单的MySQL导入数据命令。1、mysql命令导入使用mysql命令导入语法格式为:mysql-u用户名-p密码<要导入的数据库数......
  • MySQL 8.0.0 版本发布,亮点都在这了!
    MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低......