今日碰到一个要求,要用全自动每日任务将一张表的数据信息导进另一张表。实际情景及限定:将数据库查询A表A的数据信息导到数据库查询B表B中(增加量数据信息或全量数据信息二种方法)管理体系1管理体系2只有各自浏览数据库查询A数据库查询B。图下:

MySQL数据导入导出(一)  数据库  第1张

完成方法:管理体系1将表A的数据信息导出来成文档,存进MongoDB,取得成功后通告管理体系2,管理体系2开展数据信息导进。

关键来了:在数据信息导出来和数据信息导进的情况下,有两下几类方法,这里实际详细介绍方式三

方式一:mysqldump,可是mysqldump是在电脑操作系统cmd下运作的,并不符合这类情景

方式二:根据sql开展查寻,再根据io写出文档。此方法不做点评...ps:各种各样专用工具的导入导出即使了,有兴趣爱好的自主掌握

方式三:导出来==》SELECT句子 INTO OUTFILE 途径 总体目标文档 [option]
    导进==》LOAD DATA LOCAL INFILE 途径 总体目标文档 INTO TABLE 表名 [option]

    在其中option主要参数常见的五个选择项:
    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%' 查寻出默认设置的途径,应用默认设置途径开展导出来,实行結果如下图

MySQL数据导入导出(一)  数据库  第2张

  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' 
MySQL数据导入导出(一)  数据库  第3张
SELECT * FROM pub_parameter INTO OUTFILE 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\test5.sql' FIELDS TERMINATED BY '|'               MySQL数据导入导出(一)  数据库  第4张