MySQL 数据表修复方法

这篇具有很好参考价值的文章主要介绍了MySQL 数据表修复方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MySQL表检查与修复 — check/repair指令

本文主要讲check table和repair table指令;

1. 指令详解

在检查、修复表,除了用myisamchk指令,还可以用check tablerepair table指令。(指令不区分大小写)

  1. 检查表是否有错误
    CHECK TABLE对MyISAMInnoDB表有作用。
    对于MyISAM表,关键字统计信息会被更新,CHECK TABLE也可以检查视图是否有错误,比如在视图定义中被引用的表已不存在。

名词解释

  • InnoDB,是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一。
  • MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参照完整性与并发违规处理机制,后来就逐渐取代MyISAM。

说明:
一些只对myisam表有作用(对innodb和视图无效)的选项介绍:

  • QUICK:不扫描行,不检查错误的链接。
  • FAST:只检查没有被正确关闭的表。
  • CHANGED:只检查自上次检查后被更改的表,和没有被正确关闭的表。
  • MEDIUM:扫描行,以验证被删除的链接是有效的。也可以计算各行的关键字校验和,并使用计算出的校验和验证这一点。
  • EXTENDED:对每行的所有关键字进行一个全面的关键字查找。这可以确保表是100%一致的,但是花的时间较长,所以很少使用。
  1. 修复有错误的表
    REPAIR TABLE 用于修复被破坏的表。
    默认情况下,REPAIR TABLE与myisamchk --recover tbl_name具有相同的效。
    REPAIR TABLE对MyISAM和ARCHIVE表起作用
语法如下:
REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE    tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

quick:repair只修复索引,等价于“myisamchk --recover --quick tablename”
extended:MySQL会一行一行地创建索引行,等价于”myisamchk --safe-recover tablename“
use_frm:如果.MYI索引文件缺失或标题被破坏,则使用此选项,用来自.frm文件重新创建.MYI文件。这种修复不能使用myisamchk来完成;在repair常规无法完成时,才会使用这个选项,如果表被压缩不能使用。

no_write_to_binlog:repair默认是写到二进制文件的,如果有主从模式的话,repair也会在从库执行;使用此选项将会禁止写入到二进制文件中。

2. 操作方法:

命令提示符(cmd指令)操作方法

  1. 输入cmd进入命令提示符
    mysql 修复数据表命令,mysql,数据库
  2. 登录MySQL
    输入指令msyql -u用户名 -p密码
    mysql 修复数据表命令,mysql,数据库
    注意:指令必须遵循上图格式,空格不能少也不能多;
  3. 选择数据库
    MySQL中可以创建多个数据库,先选择再操作;

mysql 修复数据表命令,mysql,数据库
注意:分号(;)不能省略。
注意:如果你记住了库名,不需要显示所有库的步骤。

  1. 检查表或者修复表
    自此可以输入check table指令检查表,也可以输入repair table修复表。下图为检查表。
    mysql 修复数据表命令,mysql,数据库
mysql> check table t1 medium;
等价于
# myisamchk --medium-check tablename
  1. 快速检查没有被正确关闭的表

     mysql> check table 表名 quick fast;
    

注意:操作到步骤1.4就可以了。

SQLyog 操作方法(推荐)

SQLyog 是图像界面操作更直观,更简单。操作逻辑和指令是一样的,没有区别;
下图,我用repair table指令做例子,所有的指令操作都是如此;文章来源地址https://www.toymoban.com/news/detail-540958.html

  1. 打开SQLyog
  2. 输入指令
  3. 执行指令
    mysql 修复数据表命令,mysql,数据库
    操作成功如下图:
    mysql 修复数据表命令,mysql,数据库
    注意:数据表越大操作越慢

到了这里,关于MySQL 数据表修复方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL创建数据库和数据表

    文章目录 前言 一、MySQL数据库是什么? 二、使用步骤 1.显示当前数据库 2.创建数据库          3.使用数据库          4.删除数据库          5.表的操作     5.1 显示数据库中的表     5.2 创建表     5.3 删除表          6.总结 MySQL数据库的创建操作 是一个客户

    2023年04月08日
    浏览(42)
  • MySQL数据库——6、删除数据表

    删除一个数据表,使用 SQL 命令 DROP TABLE 。 DROP TABLE 命令允许从数据库中永久删除指定的数据表及其所有数据。 DROP TABLE table_name;   table_name 是要删除的数据表的名称。 例如,要删除名为 users 的数据表,可以执行以下 SQL 命令: DROP TABLE users;   执行此命令后,名为 users 的数据

    2024年04月11日
    浏览(39)
  • MySQL:创建数据库,数据表,主键和外键

    目录 前言: 安装MySQL: 打开MySQL: 创建数据库: 查看已建数据库: 查看数据库引擎: 创建数据表:  主键约束: 单字段主键: 多字段联合主键: 外键约束: MySQL数据库安装了很久,一直也没静下心来学习,因为起步太晚,所以什么都想学点,又感觉有些力不从心,目前

    2023年04月27日
    浏览(45)
  • MySql 用命令清空数据表

    导出源数据库的数据: 使用以下命令导出源数据库的数据,并将其保存为SQL文件: 在提示输入密码时,输入源数据库的密码。 2. 创建目标数据库: 在目标数据库中创建一个空数据库,确保其结构与源数据库完全相同。 导入数据到目标数据库: 使用以下命令将导出的SQL文件

    2024年02月06日
    浏览(40)
  • MySql数据库的初步安装与数据表结构数据管理

    目录 一、数据库的相关了解 1)数据库的概念  数据(Data) 表 数据库系统 2)数据库系统发展史 第一代数据库 第二代数据库 第三代数据库 当今主流数据库介绍 2)数据库的分类  关系数据库 非关系型数据库 非关系型数据库的优点 二、mysql的yum安装与源码编译安装   1)源

    2024年02月08日
    浏览(99)
  • Mysql 查询数据库或数据表中的数据量以及数据大小

     许多数据库的元数据都是存储在mysql中的,例如hive、startrockes,因此可以通过mysql中的“information_schema.TABLES”表来查询对应数据库或对应数据表的具体信息。 1、查询各个数据库中的数据条数和数据大小 2、查询各个数据表中的数据条数和数据大小 3、查看指定数据库容量大小

    2024年04月27日
    浏览(33)
  • MySQL相关的SQL语句、数据库、数据表、字段、类型

    1、 SQL 语句不区分大小写。 SQL语句 用途 描述 mysql -u root -p 连接 MySQL 在命令行窗口中输入 mysql -u root -p 命令,回车,然后输入 MySQL 密码(不要忘记了密码,找回麻烦),再回车就连接上 MySQL 了。最初都是使用 root 用户登录,工作中不能一直使用 root 用户登录。因为 root 权限太

    2024年02月13日
    浏览(69)
  • 【MySQL】基础实战篇(1)—数据库与数据表的操作

    创建数据库 语法: 注: 在同一个数据库服务器上必须是唯一的,不允许存在同名的数据库。 此外在创建数据库时如果不进行自定义设置编码方式,就会使用系统默认的编码方式,所以我们可以在创建数据库的同时自定义设置编码方式。 语法: 字符集 是定义MySQL存储字符串

    2024年02月08日
    浏览(45)
  • MySQL的约束类型、数据库操作、数据表操作大全(简述)

    目录 一.数据库的操作语法 二.MySQL数据库约束 三.数据类型 四.数据表操作 作者简介:  tq02,一个想成为编程高手的梦中人 作者主页:  tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主 学习专栏:  🎥  MySQL基础          🎥  JavaSE                🎥   C语言 本

    2024年02月12日
    浏览(61)
  • 【MySQL新手入门系列二】:手把手教你入门MySQL - 数据库及数据表操作

    如果您是一位刚刚开始学习MySQL的新手,本文将为您提供一些实用的入门知识和技巧,帮助您快速上手。 【MySQL新手入门系列一】:手把手教你入门MySQL 前面我们已经大致讲了一下mysql的安装等介绍,本篇文章将以windows为例,介绍MySQL的数据库及数据表的操作(增删改查)。

    2024年02月10日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包