MySQL 数据库中的某些数据表在错误重启后丢失了

Mysql 错误冲洗后数据表丢失,但是 .ibd 文件存在


如果 MySQL 数据库中的某些数据表在错误重启后丢失了,可能是因为它们的 InnoDB 数据文件(.ibd 文件)已经损坏或丢失。

在这种情况下,您可以尝试使用以下步骤恢复(table):查看其他方法


文章来源地址https://www.toymoban.com/diary/sql/249.html

1、确认文件是否存在与位置

确认 table 表的 .frm 和 .ibd 文件是否都存在于 MySQL 数据库目录下的正确位置。

默认情况下,MySQL 数据库目录位于 C:\ProgramData\MySQL\MySQL Server 5.7\data。



2、确认是使用了InnoDB 引擎

确认 MySQL 配置文件 my.ini 中是否启用了 InnoDB 引擎。在 my.ini 文件中,可以找到以下配置项:

default-storage-engine=INNODB
innodb_file_per_table=ON

确保这两个配置项的值都正确,并且没有被注释掉。


3、备份数据

关闭 MySQL 服务,并备份 table.ibd 文件。如果该文件已经损坏或被删除,您可以跳过此步骤。


4、使用工具恢复

使用 MySQL 自带的工具进行数据恢复。在命令提示符下,切换到 MySQL 安装目录的 bin 目录下,例如:

cd C:\Program Files\MySQL\MySQL Server 5.7\bin

然后执行以下命令:

mysqlbinlog --verbose --base64-output=DECODE-ROWS mysql-bin.000001 > recovery.sql

其中,mysql-bin.000001 是 MySQL 事务日志文件的名称,可以根据实际情况修改。执行该命令后,会生成一个 recovery.sql 文件,其中包含了所有已提交的事务操作。


5、生成相关SQL

将生成的 recovery.sql 文件中与 table 表相关的事务操作复制到一个新的 SQL 文件中,例如:table_recovered.sql。


6、恢复数据

在 MySQL 命令行下执行 table_recovered.sql 文件,将恢复数据写入 MySQL 数据库中。可以使用以下命令:

mysql -u root -p dbname < c:\path\to\ycms_category_recovered.sql


其中,-u 参数指定 MySQL 的用户名;-p 参数提示输入 MySQL 的密码;dbname 指定要导入数据的数据库名。


请注意,这种恢复方式并不一定能够完全恢复 ycms_category 表的数据,具体恢复结果取决于数据文件的损坏程度。


如果重要数据丢失,建议及时备份数据以避免更大损失。


其他方法



也可能是因为MySQL数据库在重启时出现了一些问题,导致某些数据表没有被正确加载。您可以尝试以下几个步骤来尝试解决这个问题:


1、检查数据表是否存在

使用SHOW TABLES;命令来检查该表是否存在,如果该表不存在,则说明该表可能被删除了,您可以从备份中恢复该表。


2、检查数据表是否被重命名

在MySQL中,数据表可以通过RENAME TABLE命令进行重命名。您可以使用SHOW TABLES;命令检查是否有类似的表名,例如'table'等等。


3、检查MySQL数据文件

如果数据表确实存在,但是无法通过MySQL访问,请检查MySQL数据文件是否已经损坏。您可以使用以下命令检查MySQL数据文件:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables &
mysql -u root mysql
mysql> REPAIR TABLE table;


4、恢复数据表

如果以上步骤无法解决问题,您可以从备份中恢复该表。如果您没有备份,则可能需要使用数据恢复软件进行恢复。


最后,为了避免类似的问题发生,您应该定期备份您的MySQL数据库,并在重启之前做好充分的准备工作,以确保您的数据安全。




到此这篇关于MySQL 数据库中的某些数据表在错误重启后丢失了的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/diary/sql/249.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
上一篇 2023年08月19日 16:46
下一篇 2023年08月19日 16:46

相关文章

  • Mysql 查询数据库或数据表中的数据量以及数据大小

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

    2024年04月27日
    浏览(57)
  • mysql数据库和数据表

    常用的数据类型: int : 整型  用于定义整数类型的数据 float : 单精度浮点4字节32位  准确表示到小数点后六位. double :双精度浮点8字节64位 char :固定长度的字符类型  用于定义字符类型数据 varchar :可变长度的字符类型 text : 文本 image: :图片 SQL语言: Structured Query La

    2024年02月10日
    浏览(70)
  • MySQL创建数据库和数据表

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

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

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

    2024年04月11日
    浏览(63)
  • MySQL数据库——MySQL SELECT:数据表查询语句

    在 MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。 SELECT 的语法格式如下: 其中,各条子句的含义如下: {*|字段列名} 包含星号通配符的字段列表,表示所要查询字段的

    2024年02月05日
    浏览(80)
  • MySQL(1) MySQL创建数据库和创建数据表

    创建数据库 1. 连接 MySQL      mysql -u root -p  2. 查看当前的数据库  show databases; 3. 创建数据库  create database 数据库名; 创建数据库 4. 创建数据库时设置字符编码  create database 数据库名 character set utf8;  5. 查看和显示数据库的编码方式  show create database 数据库名; 显示数据库的

    2024年02月14日
    浏览(87)
  • MySQL数据库——MySQL数据表添加字段(三种方式)

    MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。随着业务的变化,可能需要在已有的表中添加新的字段。 MySQL 允许在开头、中间和结尾处添加字段。 一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语

    2024年02月08日
    浏览(92)
  • MySQL:创建数据库,数据表,主键和外键

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

    2023年04月27日
    浏览(135)
  • MySql数据库的初步安装与数据表结构数据管理

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

    2024年02月08日
    浏览(443)
  • idea配置MySQL数据库,以及将已存在的数据表导入数据库

    首先,确定自己需要的数据库名字,结合jeecg项目,我在项目中得知我需要链接的数据库的名字为     jeecg-boot 打开数据库的可视化软件,     点击开始,即可导入,刷新数据库,就可以看到导入的数据表了。 接下来在idea链接MySQL     点击OK,就完成配置了,刷新一下,就

    2024年02月11日
    浏览(71)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包