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


MySQL数据导入导出(一)的更多相关文章
- MySQL数据导入导出方法与工具mysqlimport
MySQL数据导入导出方法与工具mysqlimport<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...
- MYSQL数据导入导出
在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. 进入cmd 导出所有数据库:输入:mysqldump -u ...
- mysql数据导入导出方法总结
MySQL数据备份还原方式总结: 一.将数据导入到指定的数据库 第一种导入方式: (linux下和Windows 下语法是一样的,只是路径的书写方式不同而已) 1.创建一个空数据库 2.进入MySQL ...
- mysql数据导入导出与数据表优化
一.数据导入 mysqlimport -uroot oa d:/aa.txt --fields-terminated-by=, --fields-optionally-enclosed-by= --l ...
- Mysql数据导入导出功能(设置及使用)
使用Mysql自带的outfile语法,将查询结果导成excel格式. 1.OUTFILE介绍及常见问题解决: )查询数据导出成csv 直接使用mysql导出csv方法 我们可以使用 into out ...
- Java实现Mysql数据导入导出
package com.backup; import java.io.BufferedReader;import java.io.FileInputStream;import java.io.File ...
- mysql数据库导入导出 查询 修改表记录
mysql数据导入导出: 导入: 把系统的文件的内容,保存到数据库的表里 导入数据的基本格式:mysql> load data infile "文件名" into table ...
- 如何利用sqoop将hive数据导入导出数据到mysql
运行环境 centos 5.6 hadoop hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...
- 利用sqoop将hive数据导入导出数据到mysql
一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令 # sqoop list-databases --connect jdbc:mysql://localhost:3306 ...
随机推荐
- C++程序员必需的修养
原文:http://www.cnblogs.com/ctoroad/archive/2006/03/24/357423.html 我总结了在用C/C++语言(主要是C语言)进行程序写作上的三十二个“修 ...
- WPF&Silverlight5 常用功能差异
一晃从Wpf转到sl也有半年多了,总想总结一下wpf和sl的差异,今天终于下笔. 首先来个整体图: 通过上图可以发现其实sl只是使用了wpf的一小部分,只是sl依赖的freamwork有很大部分都一样 ...
- 深入理解http协议的特点
HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1.支持客户/服务器模式:2.简单快速:3.灵活:4.无连接:5.无状态. 无连接 无连接的含义是限制每次连接只处理一个请求. ...
- 根据viewport的size自动调整fontsize大小
现在的网站必须要考虑mobile上访问的友好性,bootstrap作为mobile first的前端框架得到很多应用,它通过默认就使用.col-xs-xx定义的width,同时加上@media(min ...
- 错误: 安装必备组件失败: 安装必备组件失败: SqlInstanceRtc 有关详细信息
错误: 安装必备组件失败: 安装必备组件失败: SqlInstanceRtc 有关详细信息 查看错误得知是安装sqlexpr_x64.exe的时候出现了错误 解决: 通过打开skype镜像,找到sql ...
- Python初学者第十天 集合、十六进制
10day 数据类型:集合 set 1.集合的定义 集合:无序的.不重复的数据组合. 特性:a.去重,把一个列表变成集合,就自动去重了 b.关系测试.测试两组数据之间的交集.差集.并集等关系 2.集合 ...
- C++ 源代码到可执行代码的详细过程
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序. 源代码-- ...
- easyui学习笔记7—在手风琴中显示表格
在这一篇中我们看看如何在手风琴里面显示表格数据的. 1.先看看引用的资源 <link rel="stylesheet" type="text/css" h ...
- 对EJB的认识
对EJB的认识 接触EJB以来有一段时间了,走马观花一样把它所涉及到的东西看了一遍,随着深入了解越来越感觉到ejb的很强大,用了java后觉的java好用.学历SSH觉的比java好用.学了ejb觉的 ...
- 可跨域的单点登录(SSO)实现方案
可跨域的单点登录(SSO)实现方案 SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源( ...