拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle基础知识
  3. 图灵小队
  4. 正文

Mysql数据库的表ibd文件直接从一个服务器导入到另一个服务器(或者本地导入一个新的文件)

2024年5月31日 1855点热度 0人点赞 0条评论

目录

  • 一、ibd表模式导入流程
    • 1、节点A
      • (1)导出表
      • (2)获取test01表的创建表结构
    • 2、节点B
      • (1)创建和test01相同的表结构
      • (2)如果原来有此表且有数据,直接清理一下
      • (3)discard  tablespace
      • (4)拷贝数据表文件test01.ibd到B节点的数据目录test11
      • (5)将新表导入到tablespace
      • (6)查看数据

一、ibd表模式导入流程

1、节点A

(1)导出表

use test;
FLUSH TABLE table1 FOR EXPORT;
执行 FLUSH TABLE test FOR EXPORT;
这一步会将表 test 锁定为只读模式,并在 test 目录下生成一个 test.cfg 配置文件,为表空间的导出做准备。
cd /mysql/data/3306/data/test
# scp test01.ibd root@172.18.1.23:/root/
UNLOCK tables;

(2)获取test01表的创建表结构

show create table test01;
CREATE TABLE `test01` ( `ID` int NOT NULL AUTO_INCREMENT, `ULN` varchar(50) NOT NULL DEFAULT '0', `Room_ID` varchar(50) NOT NULL DEFAULT '0', `Machine_ID` varchar(50) NOT NULL DEFAULT '0', `Label_ID` varchar(50) NOT NULL DEFAULT '0', `Coin_trans_datetime` datetime DEFAULT '1999-01-01 00:00:00', `SequenceNumber` varchar(50) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), UNIQUE KEY `test_unique_index` (`ULN`,`Machine_ID`,`SequenceNumber`,`Coin_trans_datetime`), KEY `ID` (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC;

2、节点B

(1)创建和test01相同的表结构

 CREATE TABLE `test02` ( `ID` int NOT NULL AUTO_INCREMENT, `ULN` varchar(50) NOT NULL DEFAULT '0', `Room_ID` varchar(50) NOT NULL DEFAULT '0', `Machine_ID` varchar(50) NOT NULL DEFAULT '0', `Label_ID` varchar(50) NOT NULL DEFAULT '0', `Coin_trans_datetime` datetime DEFAULT '1999-01-01 00:00:00', `SequenceNumber` varchar(50) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), UNIQUE KEY `test_unique_index` (`ULN`,`Machine_ID`,`SequenceNumber`,`Coin_trans_datetime`), KEY `ID` (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=DYNAMIC;

(2)如果原来有此表且有数据,直接清理一下

truncate table table02;

(3)discard  tablespace

alter table test02 discard tablespace;
ALTER TABLE table1 DISCARD TABLESPACE;是一个 MySQL 语句,用于丢弃指定表 table1 的表空间,即使表数据仍然存在于磁盘上,但 MySQL 不再管理这些数据。 这个语句通常在需要移动或者替换表空间时使用,例如在进行表空间级别的恢复或者在表空间损坏时。 注意,在执行这个语句之后,表 table1 将变得不可用,直到使用 ALTER TABLE table1 IMPORT TABLESPACE; 重新导入表空间后才能恢复其可用性。

(4)拷贝数据表文件test01.ibd到B节点的数据目录test11

# cp /root/test01.ibd /mysql/data/3306/data/test11/test02.ibd
# chown -R mysql.mysql /mysql/data/3306/data/test11

(5)将新表导入到tablespace

alter table test02 import tablespace; # 这一步会根据表的大小,占用不同的时间。

(6)查看数据

 select count(*) from test02; 可以看到数据全部导入了.

注意:此过程表结构不能改变,且主键等也不能从无到有。新表结构要和原表结构完全一致才可以。
否则在import是会报:
mysql> alter table test2.test13 import tablespace;
ERROR 1808 (HY000): Schema mismatch (Clustered index validation failed. Because the .cfg file is missing, table definition of the IBD file could be different. Or the data file itself is already corrupted.)

 

 

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年5月31日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号