上一篇文章介绍了“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.cfg

6.执行新建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.cfg

mysql>

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。

mysql新建表96k_innodb表 手工导入导出相关推荐

  1. innodb表 手工导入导出

    上一篇文章介绍了"innobackupex 热备指定库表操作",分析其整个过程,就是将表的字典和数据文件导出在导入的原理,那么针对单表的备份与恢复(新实例或者新库中恢复),我们可以 ...

  2. oracle新建用户sql局域,oracle 新建数据库,及创建用户,表空间,sqlplus导入导出数据库...

    oracle11G 新建数据库: 默认下一步: 默认下一步: 默认下一步: 填写数据库名下一步: 默认下一步: 完成,再按指示确定,就完成了数据库的创建. 数据库创建完后,在oracle11G Net ...

  3. 2005数据库导入mysql没有主键_MSSQL2005数据库导入导出+带主键、自动增量、关系图、表架构等...

    MSSQL2005数据库导入导出+带主键.自动增量.关系图.表架构等 关键词:mssql2005.导入导出 1.在本地安装Mssql Server 2005 2.接着安装SQLServer2005_X ...

  4. Oracle创建表空间/用户及导入导出

    文章目录 一.SQL Plus登录 二.创建表空间,用户 1.创建文件夹 2.创建表空间 2.创建用户 3.用户绑定表空间 4.用户授权 三.Oracle导入导出 2.导出 3.导入 四.Navica ...

  5. Hadoop Hive概念学习系列之HDFS、Hive、MySQL、Sqoop之间的数据导入导出(强烈建议去看)(十八)...

    把MySQL里的数据导入到HDFS 1.使用MySQL工具手工导入 把MySQL的导出数据导入到HDFS的最简单方法就是,使用命令行工具和MySQL语句. 为了导出整个数据表或整个数据库的内容,MyS ...

  6. mysql 安装、建库、导入导出数据

    一.安装mysql数据库(如果已经有数据库,跳过这一步) 1. 下载和安装Yum repository 下载地址:https://dev.mysql.com/downloads/repo/yum/ 使 ...

  7. mysql导vertica_vertica系列:数据的导入导出

    本文仅涉及 Vertica 导入导出本地文件, 以及两个 Vertica 集群相互导出, 不涉及 Vertica 和 hdfs/Hive 导入导出和互操作. copy 数据导入工具 copy 命令无疑 ...

  8. MySQL新建数据库和表

    首先在MySQL Workbench上(如果没有的话建议安装一个)新建一个数据库 首先在SCHEMAS区域右击,选择创建"create schema" 填入自定义名称,点击&quo ...

  9. impdp oracle 只导入表结构_Oracle数据导入导出(expdp impdp)

    oracle数据泵的使用方式, 以及数据泵命令的参数说明 使用expdp和impdp时应该注重的事项: 1.exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. 2.expdp ...

最新文章

  1. Android客户端开发—数据库SQLite基本语句
  2. Rocksdb 的一些参数调优策略
  3. Visual C++ Windows 用来定位 DLL 的搜索路径
  4. Triangular Sums http://acm.nyist.net/JudgeOnline/problem.php?pid=122
  5. CentOS关机大法之shutdown应用实例
  6. 一款很好用的JQuery dtree树状图插件(一)
  7. 19岁中专学历是怎么在广州找到前端工作的?
  8. 【软件开发综合实验】文本压缩软件
  9. STM32工作笔记0059---独立看门狗实验
  10. pytho---之easydict使用
  11. 光伏发电设备被淹或浸水时的相关注意事项
  12. 计算机网络知识点脑图 王道 考研
  13. html制作dnf,dnf怎么制作img文件 时装拼合教程
  14. 清理git本地帐户信息
  15. 国开计算机专业英语答案,国开电大计算机专业英语阅读(河北)形考三参考答案...
  16. 电子计算机的字母是什么意思,计算器上的英文字母
  17. 有什么能测试安卓硬件的软件吗,手机硬件检测工具有哪些 总有一款适合你
  18. centos mysql mariadb_centos7 mysql和mariadb的资料 - 菜鸟头头
  19. 深度 | 蚂蚁金融智能平台:让AI在金融场景发挥作用
  20. oracle认证考试试题及答案,Oracle DBA认证考试存储管理试题及答案

热门文章

  1. LeetCode简单题之数组中第 K 个独一无二的字符串
  2. 合肥工业大学—SQL Server数据库实验二:数据库架构的创建与使用
  3. C++ OP相关注意事项
  4. 如何在TVM上集成Codegen(下)
  5. 用NVIDIA NsightcComputeRoofline分析加速高性能HPC的应用
  6. Python反爬研究总结
  7. 华东理工大学计算机应用基础,最新华东理工大学计算机应用基础网上作业及全部答案...
  8. Android 绘制同心圆 (2个圆叠加在一起)
  9. 显示intent的使用讲解
  10. 微信小程序 在使用wx.request时显示加载中