从另一电脑复制下来的MYSQL的数据文件(包括FRM IBD)快速恢复到另一MYSQL服务器过程

从另一电脑复制下来的MYSQL的数据文件(包括FRM IBD)快速恢复到另一MYSQL服务器过程:

1.安装mysql最好相同的版本,安装Navicate for mysql,连接相应的服务器
2.安装 mysql-utilities,地址:https://downloads.mysql.com/archives/utilities/
以恢复td_gov_company_abnormal.frm为例:
3.C:\Program Files\MySQL\MySQL Utilities 1.6>
mysqlfrm.exe --diagnostic "F:\mysql5\data\database\td_gov_company_abnormal.frm" > "d:\1.txt" 内容如下: CREATE TABLE `database`.`td_gov_company_abnormal` ( `id` int(11) NOT NULL AUTO_INCREMENT, `company_id` int(11) NOT NULL, `unified_code` varchar(60) NOT NULL comment '统一社会信用代码', `authority` varchar(300) NOT NULL comment '列入决定机关', `enter_date` datetime DEFAULT NULL comment '列入日期', `enter_reason` varchar(300) NOT NULL comment '列入经营异常名录原因', `leave_authority` varchar(300) NOT NULL comment '移出决定机关', `leave_date` datetime DEFAULT NULL comment '移出日期', `leave_reason` varchar(300) NOT NULL comment '移出经营异常名录原因', `state` int(11) NOT NULL, `create_time` datetime DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY `PRIMARY` (`id`), KEY `create_time` (`create_time`) USING BTREE, KEY `update_time` (`update_time`) USING BTREE, KEY `unified_code` (`unified_code`) USING BTREE, KEY `company_id` (`company_id`) USING BTREE ) ENGINE=InnoDB COMMENT '经营异常'; 4.在 navicate for mysql中新建一个数据库mybook 将代码改为: CREATE TABLE `mybook`.`td_gov_company_abnormal` ( `id` int(11) NOT NULL AUTO_INCREMENT, `company_id` int(11) NOT NULL, `unified_code` varchar(60) NOT NULL comment '统一社会信用代码', `authority` varchar(300) NOT NULL comment '列入决定机关', `enter_date` datetime DEFAULT NULL comment '列入日期', `enter_reason` varchar(300) NOT NULL comment '列入经营异常名录原因', `leave_authority` varchar(300) NOT NULL comment '移出决定机关', `leave_date` datetime DEFAULT NULL comment '移出日期', `leave_reason` varchar(300) NOT NULL comment '移出经营异常名录原因', `state` int(11) NOT NULL, `create_time` datetime DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY `PRIMARY` (`id`), KEY `create_time` (`create_time`) USING BTREE, KEY `update_time` (`update_time`) USING BTREE, KEY `unified_code` (`unified_code`) USING BTREE, KEY `company_id` (`company_id`) USING BTREE ) ENGINE=InnoDB COMMENT '经营异常'; 5.在navicate for mysql 查询窗口中运行 6.新建另一查询窗口:执行
SELECT @@sql_mode;

-- 修改SQL_MODE
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
use mybook;

alter table td_gov_company_abnormal DISCARD tablespace;结果是删除了td_gov_company_abnormal.ibd文件
7. 将保留的td_gov_company_abnormal.ibd文件复制到mybook文件夹中
8.新建另一查询窗口:执行
SELECT @@sql_mode;

-- 修改SQL_MODE
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));


use mybook
alter table td_gov_company_abnormal import tablespace;
根据数据量等待一段时间即可恢复完成这个表

 

posted @ 2023-07-26 09:13  myrj  阅读(245)  评论(0编辑  收藏  举报