innodb表 手工导入导出
上一篇文章介绍了“innobackupex 热备指定库表操作”,分析其整个过程,就是将表的字典和数据文件导出在导入的原理,那么针对单表的备份与恢复(新实例或者新库中恢复),我们可以直接采用物理导出innodb表的办法。
具体操作如下:
1.将备份表加锁,导出cfg。
mysql> select * from t1;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 2 |
| 3 |
| 4 |
+------+
7 rows in set (0.00 sec)mysql> flush table t1 with read lock;
Query OK, 0 rows affected (0.01 sec)
发现t1生成了cfg文件。
[root@222 test]# ls
db.opt t1.cfg t1.frm t1.ibd t2.frm t2.ibd
执行unlock tables ,cfg文件回收。
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)[root@222 test]# ls ../test/
db.opt t1.frm t1.ibd t2.frm t2.ibd
2.在unlock tables前,将t1的cfg和ibd文件备份。
[root@222 test]# cp t1.ibd t1.cfg /home/backup/
3.创建一个新库,并创建相同结构的t1表。
mysql> create database test1;
Query OK, 1 row affected (0.00 sec)
mysql>
mysql> use test1;
Database changed
mysql>
mysql> create table t1 like test.t1;
Query OK, 0 rows affected (0.03 sec)
4.删除新建的t1表空间。
mysql> alter table t1 discard tablespace;
Query OK, 0 rows affected (0.02 sec)
发现新建的t1表空间的ibd文件被清除。
[root@222 test]# ls ../test1/
db.opt t1.frm
5.将备份的t1表的cfg和ibd文件拷贝到新建的库下。
[root@222 test]# cd /home/backup/
[root@222 test1]# ll -trh
总用量 116K
-rw-rw----. 1 mysql mysql 61 12月 16 09:49 db.opt
-rw-rw----. 1 mysql mysql 8.4K 12月 16 09:49 t1.frm
-rw-r-----. 1 root root 96K 12月 16 09:51 t1.ibd
-rw-r-----. 1 root root 354 12月 16 09:51 t1.cfg
[root@222 test1]# chown -R mysql.mysql *
[root@222 test1]#
[root@222 test1]#
[root@222 test1]# ll -trh
总用量 116K
-rw-rw----. 1 mysql mysql 61 12月 16 09:49 db.opt
-rw-rw----. 1 mysql mysql 8.4K 12月 16 09:49 t1.frm
-rw-r-----. 1 mysql mysql 96K 12月 16 09:51 t1.ibd
-rw-r-----. 1 mysql mysql 354 12月 16 09:51 t1.cfg6.执行新建t1表导入表空间操作。
mysql> alter table t1 import tablespace;
Query OK, 0 rows affected (0.08 sec)
7.查询结果和第1步备份的表一致,操作完成
mysql> select * from test1.t1;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 2 |
| 3 |
| 4 |
+------+
7 rows in set (0.00 sec)btw.
a.由于新表存在cfg文件,在删除库操作的时候会报错,
ERROR 1010 (HY000): Error dropping database (can't rmdir './test1/', errno: 17)
如果使用innobackupex备份,并导入的exp文件,则会发现删除库后,exp文件无法删除,那么手工将exp文件删除,在删除库即可。
如果使用如上方法手工命令方式导入cfg文件,在删除库时报错,但是查看库文件时发现无文件,则在执行一遍即可;对于新导入的cfg文件,可以在次执行如下命令,则cfg文件消失。
mysql> flush table t1 for export;
Query OK, 0 rows affected (0.00 sec)[root@222 test1]# ll -trh
总用量 116K
-rw-rw----. 1 mysql mysql 61 12月 16 09:49 db.opt
-rw-rw----. 1 mysql mysql 8.4K 12月 16 09:56 t1.frm
-rw-r-----. 1 mysql mysql 96K 12月 16 09:56 t1.ibd
-rw-r-----. 1 mysql mysql 355 12月 16 09:57 t1.cfgmysql>
mysql>
mysql> unlock tables;
Query OK, 0 rows affected (0.00 sec)[root@222 test1]# ll -trh
总用量 112K
-rw-rw----. 1 mysql mysql 61 12月 16 09:49 db.opt
-rw-rw----. 1 mysql mysql 8.4K 12月 16 09:56 t1.frm
-rw-r-----. 1 mysql mysql 96K 12月 16 09:56 t1.ibd
b.发现手工命令行方式备份恢复更加便捷,但是会有一个锁表的过程,那么则根据不同情况选择不同方式进行备份,对于线上有写入的表采用innobackupex方式,不会导致复制延迟;对于无写入的表,直接采用加锁导入cfg文件方式,操作更加便捷。
OK,done。
转载于:https://blog.51cto.com/liuzhanbin/2330985
innodb表 手工导入导出相关推荐
- mysql新建表96k_innodb表 手工导入导出
上一篇文章介绍了"innobackupex 热备指定库表操作",分析其整个过程,就是将表的字典和数据文件导出在导入的原理,那么针对单表的备份与恢复(新实例或者新库中恢复),我们可以 ...
- SQL server 数据库表的配置及其表的导入导出
SQL server 数据库表的配置及其表的导入导出 在实际应用中,需要对测试数据进行存储,以便于后续对数据进行查询.这里介绍SQL SEVER数据的表的配置及其数据库的导入和导出等操作. 一.安装S ...
- Oracle—dmp表的导入导出
dmp表从Oracle数据库导入导出 导入: 开始->运行->输入cmd 回车 ##语法格式为:imp 用户名/密码@IP地址/数据库名 file='dmp文件路径' full=yC:\U ...
- oracle数据库表的导入导出cmd命令大全
在实际的项目开发中经常会遇到导入导出oracle数据库中的表,以下是常用的一些cmd命令: 一.数据表的导出 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daoch ...
- imp命令导入指定表_Oracle—— 导入/导出 数据:exp,imp 命令
exp,imp 命令是需要在windows 的 cmd 命令中执行的命令,主要用于数据的导入和导出工作,方便高效. 远程地址-- @ip:port/orcl 注:该远程地址不写,就意味着执行 ...
- 数据库(表)导入导出备份
一.介绍 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程. 逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程. 物理备份即 ...
- SQL Server 与 Excel,Access 数据表的导入导出(注:参照博园.NET大观)
我们知道在Sql Server 中 集成了数据的导入导出这么一个工具,那用Sql 脚本怎么轻松操作 Access 和 Excel 中的数据呢,接下来我们看一看: 一. SQL SERVER 和EXCE ...
- Kepserver-数据点表配置导入导出
本文章简单记录基于Kepserver软件,针对某个模拟设备的点表配置进行导入导出的相关步骤.方便初学者使用.这里以西门子s7-300的设备为例子.如下图所示: 一.点表导出 1.1 选中s7-300所 ...
- mysql数据库表的导入导出
MySQL写入数据通常用insert语句,如 复制代码 代码如下: insert into person values(张三,20),(李四,21),(王五,70)-; 但有时为了更快速地插入大批量数 ...
最新文章
- 理解YOLOv2训练过程中输出参数含义
- c语言考试经典编程题目及答案,经典练习C语言编程的题目及答案整理
- A problem occurred starting process 'command '/home/jason/Android/Sdk/build-tools/23.0.3/aapt
- 文件加密问题(中文字符)
- ajaxfileupload上传显示图片_有了这个AI图片转换器,风景照片秒变二次元动画
- java基础不好框架能学会吗_转行Java能学会吗?零基础学习Java的学习路线
- sas ondemand for academics使用
- 高斯卷积核如何生成 C语言实现
- 贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理
- MATLAB(二)数据的输入
- 【高等数学】高等数学基础理论归纳
- cobbler get-loaders 错误解决方法
- 730阵列卡支持多大硬盘_730元/瓶的光瓶李渡酒销售过亿后,李渡还有哪些大招?...
- html dom对象简写,HTML DOM 对象
- 白化(Whitening): PCA白化 ZCA白化
- 启用iptables后,连接速度很慢
- 2021华为软件精英挑战赛的baseLine,Java版,仅供参考,无核心算法
- R-CNN文章详细解读
- Ballerina语言有望改善应用程序集成
- 大数据研发能力模型(面试准备)
热门文章
- chorme 下载文件 保留 放弃_西部数码使用指南:保留数据重装以后sqlserver数据库不能启动(sql2008,sql2012)...
- ylinux系统找到软件_电脑用了段时间发现多处一些软件该怎么办?
- hssfcolor 不建议使用_POI导出Excel经典实现
- arduino彩灯计时器电路_micro:bit是什么?和Arduino和单片机有什么不同?
- java文件上传_Java文件上传细讲
- 到底这个电路是如何振荡的?
- 利用OpenCV读取和写入视频
- 无电路板的微型电路制作
- 那些美的让人流连忘返的风景照片
- 2021年春季学期-信号与系统-第七次作业参考答案-第三小题