博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据导入导出(一)
阅读量:5125 次
发布时间:2019-06-13

本文共 1723 字,大约阅读时间需要 5 分钟。

今天遇到一个需求,要用自动任务将一张表的数据导入另一张表。具体场景及限制:将数据库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
'
|
'              

转载于:https://www.cnblogs.com/TianSuoMuLong/p/9084912.html

你可能感兴趣的文章
Redis缓存连接池管理
查看>>
mac brew 安装php扩展报错:parent directory is world writable but not sticky
查看>>
大型网站架构演化发展历程
查看>>
四、COSMIC功能点实操
查看>>
Oracle 数据库中对记录进行分页处理
查看>>
数据库的应用详解三
查看>>
[翻译] 学习iOS开发的建议:如何从菜鸟到专家
查看>>
POJ 2376
查看>>
C++学习第二天(打卡)
查看>>
Java基础知识:Java实现Map集合二级联动3
查看>>
Teamwork(The sixth day of the team)
查看>>
(转)腾讯2011.10.15校园招聘会笔试题
查看>>
拉格朗日乘子法
查看>>
[deviceone开发]-do_RichLabel的简单示例
查看>>
【10】jQuery学习——入门jQuery选择器之表单选择器
查看>>
WPF--TextBlock的ToolTip附加属性
查看>>
linux环境配置
查看>>
《Java并发编程的艺术》之阻塞队列
查看>>
深入浅出 Java Concurrency (6): 锁机制 part 1[转]
查看>>
【算法】禁忌搜索算法(Tabu Search,TS)超详细通俗解析附C++代码实例
查看>>