mysqlfrm 恢复异常表

本文详细介绍使用MySQL进行数据操作的具体步骤,包括安装mysqlfrm工具、创建测试数据库及表、插入测试数据等,并演示了如何通过备份的frm文件恢复数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装mysqlfrm

下载:

mysql-utilities:

https://dev.mysql.com/downloads/utilities/

mysql-connector-python:

https://dev.mysql.com/downloads/connector/python/


创建测试库

create database userdb;

创建一张新表

CREATE TABLE `userinfo` (
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(150) DEFAULT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

插入测试数据

[root@localhost][userdb]> insert into userinfo select null,'eliott',now();
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
[root@localhost][userdb]> insert into userinfo select null,'mark',now();
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
[root@localhost][userdb]> insert into userinfo select null,'jack',now();
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
[root@localhost][userdb]> insert into userinfo select null,'mary',now();
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
[root@localhost][userdb]> insert into userinfo select null,'Tom',now();

备份数据文件

删除测试表userinfo

把备份文件copy回数据目录

查看测试表userinfo

删除备份文件,然后用mysqlfrm通过备份的frm文件恢复数据结构

mysqlfrm --diagnostic /tmp/userdb/userinfo.frm

重建表

丢弃表空间,复制备份的ibd文件到数据目录

alter table userinfo discard tablespace;

重新导入表空间,恢复完成

alter table userinfo import tablespace;






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值