25.MySQL-InnoDB数据文件异机恢复

该文详细描述了在MySQL中恢复已丢失表的步骤,包括重新创建表结构,使用DISCARDTABLESPACE移除数据文件,从备份中复制IBD文件到新库,然后使用IMPORTTABLESPACE命令恢复表空间,最后验证表的正常访问。
摘要由CSDN通过智能技术生成

1.目标端创建要恢复的表。
例如: 
CREATE TABLE `bond_badepositi` (
 `ID` bigint(20) NOT NULL COMMENT 'ID',
 `InnerCode` int(11) NOT NULL COMMENT '内部编码',
 `InfoPublDate` datetime DEFAULT NULL COMMENT '信息发布日期',
 `DepositRCode` varchar(50) DEFAULT NULL COMMENT '存单代码(银行自定义)',
 `DiscipMechanCode` varchar(15) DEFAULT NULL COMMENT '自律机制备案编码',
 `MaturityType` int(11) DEFAULT NULL COMMENT '期限类型',
 `DepositRMaturity` decimal(9,4) DEFAULT NULL COMMENT '存单期限',
 `ValueDate` datetime DEFAULT NULL COMMENT '起息日',
 `MaturityDate` datetime DEFAULT NULL COMMENT '到期日',
 `CurrencyUnit` int(11) DEFAULT NULL COMMENT '货币单位',
 `IssueWay` int(11) DEFAULT NULL COMMENT '发行途径',
 `IssueObject` int(11) DEFAULT NULL COMMENT '发行对象',
 `IssueChannel` varchar(200) DEFAULT NULL COMMENT '发行渠道',
 `PlannedIssueVol` decimal(19,4) DEFAULT NULL COMMENT '计划发行量(亿)',
 `IssueBeginDate` datetime DEFAULT NULL COMMENT '发行开始日期',
 `IssueBeginTime` varchar(8) DEFAULT NULL COMMENT '发行开始时间',
 `IssueEndDate` datetime DEFAULT NULL COMMENT '发行结束日期',
 `IssueEndTime` varchar(8) DEFAULT NULL COMMENT '发行结束时间',
 `SubDepositValue` decimal(19,4) DEFAULT NULL COMMENT '认购起存金额(万元)',
 `MinChangeUnit` decimal(19,4) DEFAULT NULL COMMENT '累计递进金额(元)',
 `CompoundMethod` int(11) DEFAULT NULL COMMENT '计息方式',
 `Rate` decimal(12,8) DEFAULT NULL COMMENT '利率(%)',
 `IntPaymentMethod` int(11) DEFAULT NULL COMMENT '付息方式',
 `InterestFormula` int(11) DEFAULT NULL COMMENT '利息计算公式',
 `EarlyMaturityDate` datetime DEFAULT NULL COMMENT '提前到期日',
 `RedemptionDate` datetime DEFAULT NULL COMMENT '兑付日',
 `ActualSubAmount` decimal(19,4) DEFAULT NULL COMMENT '实际认购量(亿)',
 `Remark` varchar(2000) DEFAULT NULL COMMENT '备注',
 `UpdateTime` datetime NOT NULL COMMENT '更新时间',
 `JSID` bigint(20) NOT NULL COMMENT 'JSID',
 `Issuer` varchar(200) DEFAULT NULL COMMENT '发行人',
 `IssuerCode` int(11) DEFAULT NULL,
 `IfListedIssuer` int(11) DEFAULT NULL COMMENT '发行人是否上市公司',
 `IntPaymentMethodDes` varchar(2000) DEFAULT NULL COMMENT '计息、付息方式说明',
 `CouponType` int(11) DEFAULT NULL COMMENT '息票品种',
 `IsDrawAdvanced` int(11) DEFAULT NULL COMMENT '是否可提前支取1',
 `IsCallable` int(11) DEFAULT NULL COMMENT '是否可赎回1',
 `IsChooseRight` int(11) DEFAULT NULL COMMENT '是否有选择权',
 UNIQUE KEY `IX_Bond_BADepositI` (`InnerCode`),
 UNIQUE KEY `IX_Bond_BADepositI_JSID` (`JSID`),
 UNIQUE KEY `IX_Bond_BADepositI_ID` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

2.执行discard操作丢失表空间。
alter table bond_badepositi discard tablespace;   
这个参数会删除ibd 数据文件。
3.拷贝要恢复的 ibd 文件到新库数据文件的位置。
cp   /backup/bond_badepositi.ibd /mysql/data/testdb/bond_badepositi.ibd  
4.执行import 导入表空间。
alter table bond_badepositi import tablespace;   

5.正常访问。
select * from bond_badepositi limit 10; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值