尝试OUTFIle、INFILE快速导入导出数据

应用场景:


前几天开发突然有这么一个需求,想导一份200多G的mysql数据出来到另一台机器上,而且时间有点赶,第一时间就想要使用Xtrabackup来全备与增备。但想到之前使用Xtrabackup来备份恢复的时候出现了各种坑,就问了下同事有什么好建议来快速导出导入数据,后来知道了可以使用select into outfile导出表数据,就冒着尝试一下的心里去弄了一下,得到的结果是惊人的,个人感觉速度要比Xtrabackup快很多。

使用select into outfile导出表数据:

(一个for循环定义自己需要操作的数据库名称,把数据导入到/data/tmp目录下)

for table in `echo oat_inventory_in oat_inventory_out oat_inventory_defective_out oat_reject oat_reject_line oat_goods oat_goods_related oat_order oat_order_line oat_purchase oat_purchase_line oat_invcheck oat_inventory_deal oat_stage_invent oat_inventory oat_receives oat_withdraw oat_deduct oat_order_provide_amount oat_order_coordinate oat_order_distribution oat_refund oat_entity_amount oat_stage_entityfund oat_entity_frozen_detail oat_entity oat_funds_detail`
do
echo $table
mysql -u root -pPassword dbname -e "select * into outfile '/data/tmp/$table.txt' fields terminated by ',' from $table;"
done

导出表结构:

(因为上述只是倒入数据,而表的结构则需要使用mysqldump方式去导出)

/usr/local/mysql/bin/mysqldump -u root -pPassword -d dbname oat_inventory_in oat_inventory_out oat_inventory_defective_out oat_reject oat_reject_line oat_goods oat_goods_related oat_order oat_order_line oat_purchase oat_purchase_line oat_invcheck oat_inventory_deal oat_stage_invent oat_inventory oat_receives oat_withdraw oat_deduct oat_order_provide_amount oat_order_coordinate oat_order_distribution oat_refund oat_entity_amount oat_stage_entityfund oat_entity_frozen_detail oat_entity oat_funds_detail > struct.sql

将导出的结构与数据文件scp到目标主机上(建议数据scp之前先压缩):

scp -P 22 /data/tmp/*.gz chenmingle@192.168.1.1:/data 

在新的数据库上面导入表结构:

mysql -u root -pPassword dbname <  struct.sql

使用 load data infile 导入数据:

for table in `echo oat_inventory_out oat_inventory_defective_out oat_reject oat_reject_line oat_goods oat_goods_related oat_order oat_order_line oat_purchase oat_purchase_line oat_invcheck oat_inventory_deal oat_stage_invent oat_inventory oat_receives oat_withdraw oat_deduct oat_order_provide_amount oat_order_coordinate oat_order_distribution oat_refund oat_entity_amount oat_stage_entityfund oat_entity_frozen_detail oat_entity oat_funds_detail`
do
echo $table
mysql -u root -pPassword dbname -e "LOAD DATA INFILE '/home/tmp/$table.txt' INTO TABLE $table FIELDS TERMINATED BY ','"
done

转载于:https://blog.51cto.com/legehappy/2160274

尝试OUTFIle、INFILE快速导入导出数据相关推荐

  1. Oracle中用exp/imp命令快速导入导出数据

     Oracle中用exp/imp命令快速导入导出数据 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中   ...

  2. 如何在 MySQL / MariaDB 中导入导出数据,导入导出数据库文件、Excel、CSV

    文章目录 本教程将详细讲解 1. MySQL / MariaDB 数据库数据「导出」 2. MySQL / MariaDB 数据库数据「导入」 3. 使用「卡拉云」一键导入导出 MySQL / Mar ...

  3. mysql数据库导出后乱码问题_MySQL导入导出数据出现乱码的解决办法

    在mysql导入导出数据时经常出现中文乱码的问题,大多是因类导入导出时编码设置不一致所引起的.本文介绍了不同平台下的编码转换方法,供大家参考. 在linux系统中默认的是utf8编码,而windows ...

  4. mysql命令导入导出数据_mysql命令行导入和导出数据

    MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ...

  5. hive向mysql导数据_Mysql Hive 导入导出数据

    ---王燕行转列sql select split(concat_ws(',',collect_set(cast(smzq as string))),',')[1] ,split(concat_ws(' ...

  6. 转载-SQL Server各种导入导出数据方式的比较

    注:本文转载自 http://blog.csdn.net/nokiaguy/article/details/4684822 当我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新 ...

  7. 记一次SQL Server2005导入Oracle10G的折腾过程【供多种数据库导入导出数据的C#程序源码参考】...

    曾经很早的时候用 SQL Server2000 时就见过我们老大,用 SQL Server2000 的导入导出功能,把数据都导入到了 Oracle9 里去,所以我也对导入导出数据有充分的信心,绝对能做 ...

  8. oracle导出数据视频教程,Oracle导入导出数据的几种方式

    oracle导入导出数据 1.导出dmp格式文件 --备份某几张表 !!!! exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp table ...

  9. SQL Server数据库导入导出数据方式比较

    在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验.净化和转换时,将会面临很大的挑战.幸好SQL Server为我们提供了强大.丰富的数据 ...

  10. oracle可以导出的格式,Oracle导入导出数据的几种方式

    oracle导入导出数据 1.导出dmp格式文件 --备份某几张表 !!!! exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp table ...

最新文章

  1. Go在区块链的发展和演进
  2. IOS - 设置与帮助界面
  3. 图像质量量化评估标准综述
  4. 【转载】反向代理为何叫反向代理?
  5. sql基础语句大杂烩
  6. 【深度学习入门到精通系列】医疗影像分割
  7. iOS之深入解析WKWebView加载的生命周期与代理方法
  8. windows环境下python 虚拟环境的创建和使用(virtualenvwrapper)
  9. 与Spring的计划任务一起按时运行
  10. val什么意思vb中的属性值_老司机带你探索Mysql中int(1)、int(10)、int(11)的区别是什么?...
  11. Flutter 饼状图、柱状图、拆线图、Flutter动态饼图、Flutter图表 flutter_echart 开发文档
  12. 《数据资产管理实践白皮书(5.0版)》正式发布,附下载链接
  13. Leetcode-401-二进制手表
  14. Zabbix实现微信报警
  15. NPM 上传自己的包
  16. 如何玩转私域引流?全链路拆解经典玩法和实战案例
  17. 机器学习系列(三)——EM算法
  18. WebService 深入详解
  19. 计算机课程优质课,全国优质课大赛一等奖教学设计 中小学信息技术教学研究工作室...
  20. 单目-线激光三维扫描系统中光刀平面的标定

热门文章

  1. 【sscom】 串口调试工具
  2. linux虚拟机镜像下载
  3. cad面积累计lisp怎么用_CAD连续面积标注lisp插件
  4. PHP 基于 SW-X 框架,搭建RPC微服务支持
  5. 威纶通触摸屏上传错误_电气人都头疼的威纶通触摸屏常见问题详解,太管用啦...
  6. python控制、监听鼠标键盘
  7. 2018Oracle11g下载与安装菜鸟教程(一)
  8. Aqua Data Studio 执行HiveSql的问题
  9. chrome离线安装包下载方法
  10. 银行考试打字测试软件,银行考核打字,是否有什么练习软件?