今天遇到一个需求,要用自动任务将一张表的数据导入另一张表。具体场景及限制:将数据库A中表A的数据导入到数据库B的表B中(增量数据或全量数据两种方式);体系1和体系2只能分别访问数据库A和数据库B。附图:

实现方式:体系1将表A的数据导出成文件,存入MongoDB,成功后通知体系2,体系2进行数据导入。

重点来啦:在数据导出和数据导入的时候,有几下几种方式,此处具体介绍方法三

方法一:mysqldump,但是mysqldump是在操作系统命令行下运行的,并不满足这种场景。

方法二:通过sql进行查询,再通过io写成文件。此方式不做评价...ps:各种工具的导入导出就算了,有兴趣的自行了解

方法三:导出==》SELECT语句 INTO OUTFILE 路径+目标文件 [option]
    导入==》LOAD DATA LOCAL INFILE 路径+目标文件 INTO TABLE 表名 [option]

    其中option参数常用的5个选项:
    FIELDS TERMINATED BY '字符串':设置字符串为字段的分割符,默认值为 \t;
    FIELDS ENCLOSED BY '字符':设置字符串括上字段的值,默认值为 无任何符号;
    FIELDS OPTIONALLY ENCLOSED BY '字符':设置字符串括上char varchar text等字符型字段,默认值为 无任何符号;
    LINES STARTING BY '字符串':设置每一行开头的字符,默认值为 无任何字符;
    FIELDS ESCAPED BY '字符':设置转义字符,默认值为 \;
    LINES TERMINATED BY '字符串':设置每行结束符,默认值为 \n;

注意:1.导入的时候数据文件要和导入的表的结构相对应(字段长度、类型、列等等)

   2.导出的文件不是sql,不包含表结构,只是纯数据文件,且每一条数据占一行

   3.路径问题:有时候随便选择一个路径并不能导出数据文件,会报错
    如:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
解决方式:
  a)先通过SHOW VARIABLES LIKE '%secure%' 查询出默认的路径,使用默认路径进行导出,执行结果如下图

  b)修改 mysql 的 my.ini 配置文件中secure_file_priv来进行管理,
    i.不允许MySQL进行导入导出
      # Secure File Priv.
      secure-file-priv = null
    ii.只允许MySQL在指定的目录下进行导入导出操作
      # Secure File Priv.
      secure-file-priv = /目录/
    iii.不对MySQL的导入导出进行限制(注释或删除secure-file-priv配置)
      # Secure File Priv.
      #secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"

最后附上eg:

SELECT * FROM pub_parameter INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\test8.sql' 

SELECT * FROM pub_parameter INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\test5.sql' FIELDS TERMINATED BY '|'              

MySQL数据导入导出(一)的更多相关文章

  1. MySQL数据导入导出方法与工具mysqlimport

    MySQL数据导入导出方法与工具mysqlimport<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...

  2. MYSQL数据导入导出

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. 进入cmd 导出所有数据库:输入:mysqldump -u ...

  3. mysql数据导入导出方法总结

    MySQL数据备份还原方式总结: 一.将数据导入到指定的数据库 第一种导入方式: (linux下和Windows 下语法是一样的,只是路径的书写方式不同而已) 1.创建一个空数据库 2.进入MySQL ...

  4. mysql数据导入导出与数据表优化

    一.数据导入 mysqlimport -uroot oa d:/aa.txt --fields-terminated-by=, --fields-optionally-enclosed-by= --l ...

  5. Mysql数据导入导出功能(设置及使用)

    使用Mysql自带的outfile语法,将查询结果导成excel格式. 1.OUTFILE介绍及常见问题解决: )查询数据导出成csv 直接使用mysql导出csv方法 我们可以使用 into out ...

  6. Java实现Mysql数据导入导出

    package com.backup; import java.io.BufferedReader;import java.io.FileInputStream;import java.io.File ...

  7. mysql数据库导入导出 查询 修改表记录

    mysql数据导入导出: 导入: 把系统的文件的内容,保存到数据库的表里 导入数据的基本格式:mysql> load data infile "文件名" into table ...

  8. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

  9. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

随机推荐

  1. 关于圆角border-radius

    一.border-radius 可以同时设置1-4个值 a)1个值  控制4个圆角 b)2个值  第1个控制左上角和右下角   第2个值控制左下角和右上角 c)3个值  第1个控制   第2个值控制左 ...

  2. 关于Function原型对象和Object原型对象的一些疑惑

    网上有一道美团外卖的面试题是这样的: Function.prototype.a = 'a'; Object.prototype.b = 'b'; function Person(){}; var p ...

  3. if(!IsPostBack)

    作用: Page.IsPostBack 是用来检查目前网页是否为第一次加载,当使用者第一次浏览这个网页时Page.IsPostBack 会传回False,不是第一次浏览这个网页时就传回True:所以当 ...

  4. Java从入门到精通——数据库篇Mongo DB 导出,导入,备份

    一.概述    本篇博客为大家讲述一下Mongo DB是如何导入导出数据,还有就是备份数据的.    在下面操作的时候需要把Mongo DB的服务端打开才能操作. 二.导出.    MongoDB的导 ...

  5. CentOS 7运维管理笔记(7)----Apache 基于端口的虚拟主机配置

    如果一台服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配置. (1) 在虚拟机的CentOS7服务器上配置 eth0:4 为192.168.1.214: (2) ...

  6. MVC中用NPOI导出Excel相关问题

    情形1:可以直接带参数 前端页面: @.ActionLink("导出Excel", "DownLoadExcel", new { 参数名= '参数值' }, n ...

  7. 【Leetcode】【Medium】Two Sum

    Given an array of integers, find two numbers such that they add up to a specific target number. The ...

  8. 小程序——使用Easy Mock

    使用Easy Mock 一.什么是Easy Mock    Easy Mock 是一个可视化的能快速生成模拟数据的持久化服务.在实际开发中常见的Mock方式一般是将模拟数据直接写在代码里,利用Java ...

  9. yii2框架安装运行init.bat报错php.exe不是内部或外部命令

    在安装yii2框架的时候,遇到一个很纠结的问题.就是当我把安装包下载下来之后,在公司的电脑安装可以正常,当我回家用自己的电脑安装就报错,提示 php.exe 不是内部或外部命令,也不是可运行的程序.这 ...

  10. Git Brash在Windows下乱码问题

    ,/etc/gitconfig: [gui] encoding = utf- #代码库统一用urf-8,在git gui中可以正常显示中文 [i18n] commitencoding = GB2312 ...