===========================================================

SELECT INTO OUTFILE
语法格式:

SELECT [columns]
INTO
OUTFILE 'FileName'
[{FIELDS|COLUMNS} TERMINATED BY 'String']
[[OPTIONALLY] ENCLOSED BY 'char']
[LINES [STARTING BY 'string'] [TERMINATED BY 'string']]
FROM TABLE_NAME WHERE ...

在将选择的记录导出到.csv文件时,出现提示“The MySQL server is running with the --secure-file-priv option so it cannot execute this statement”。
解决办法:
在配置文件的[mysqld]部分增加secure_file_priv="/",然后重启既可以将数据导出到任何目录。
参考连接:https://dev.mysql.com/doc/refman/5.7/en/server-options.html

由于Linux的换行符为\n,而Windows 的换行符为\r\n ,因此在导出供windows使用的数据文件时,要指定换行符。

Windows下csv文件默认使用gbk字符集,因此导出脚本为:

SELECT HOST,USER
INTO OUTFILE '/tmp/tb001.csv' CHARACTER SET gbk
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
FROM mysql.user;

===========================================================

mysql命令导出

使用mysql命令来执行命令或命令文件,并将执行结果输出到文件中。

相关参数:

--verbose: 输出结果中包含执行命令
--vertical:垂直方式显示执行结果(类似于\G)
--unbuffered: 每执行一条SQL语句都刷新执行结果。
--skip-column-names:输出结果中不包含列名
--batch:禁用交互模式
--silent:数据列使用tab分隔,数据行使用换行显示
--execute:执行命令并退出
--force: 执行命令出错后仍继续执行 -v参数:显示执行命令
-vv参数:显示执行命令+影响行数
-vvv参数:显示执行命令+影响行数+执行时间

使用mysql执行命令导出csv文件:

/export/servers/mysql/bin/mysql \
--host="127.0.0.1" \
--port=3358 \
--user="root" \
--password="root" \
--database="mysql" \
--batch \
--execute "select host,user from mysql.user where user='root';" \
| sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" \
> /tmp/mysql_user.csv

使用mysql执行命令文件并输出每条SQL及其执行结果:

/export/servers/mysql/bin/mysql \
--host="127.0.0.1" \
--port=3358 \
--user="root" \
--password="root" \
--database="mysql" \
--verbose \
--batch \
</tmp/mysql_user.sql \
1>/tmp/mysql_user.log \
2>/tmp/mysql_user.err

MySQL Export--导出数据的更多相关文章

  1. mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqld ...

  2. 解决mysql导入导出数据乱码问题

    最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server host和Can't connect to ...

  3. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  4. mysql分批导出数据和分批导入数据库

    mysql分批导出数据和分批导入数据库 由于某些原因,比如说测试环境有很多库,需要迁移到新的环境中,不需要导出系统库的数据.而数据库又有好多,如何才能将每个库导出到独立的文件中呢?导入到一个文件的话, ...

  5. 常用mysql导入导出数据的命令

    To export 导出指定db_name的数据: $ mysqldump -u [uname] -p[pass] db_name > db_backup.sql 导出整个库的数据: $ mys ...

  6. mysql导入导出数据

    mysqldump是MySQL自带的导出数据工具,通常我们用它来导出MySQL中,但是有时候我们需要导出MySQL数据库中某个表的部分数据作为测试. mysqldump命令中带有一个 --where/ ...

  7. MySQL 导入导出数据

    导入数据 1. 使用 MySQl Workbench 界面操作 导入 csv JSON 格式文件 2 使用 load data 命令 load data 命令官网教程 https://dev.mysq ...

  8. docker mysql 导入导出数据

    导出数据 1.导出mysql单张表结构和数据: docker exec -it my-mysql mysqldump dbname -uroot -p123456 --tables tname > ...

  9. mysql导入导出数据,备份,恢复数据

    MYSQL 实现导入数据 .备份和恢复数据库 1.使用msql命令导入数据 # mysql -uroot -p 需要选择一个数据库 < runoob.sql #mysql -u username ...

  10. MySQL导入导出数据和表结构 source和mysqldump

    MySQL导入数据的方式: 1.使用source /dir/test.sql导入数据进入数据库:查询数据库编码格式show variables like "%char%";设置编码 ...

随机推荐

  1. Java操作FTP工具类(实例详解)

    这里使用Apache的FTP jar 包 没有使用Java自带的FTPjar包  工具类 package com.zit.ftp; import java.io.File; import java.i ...

  2. leetcode python 001

    给定一个数组,和一个数字target,要求返回和为target的两个数组成员的下标. import numpy as npimport time #### 构造题目 , x数组大小x=100000l1 ...

  3. mysql中sql查询使用注意

    1.注意DESC关键字仅适用于在它前面的列名(birth):不影响species列的排序顺序. SELECT name, species, birth FROM pet ORDER BY specie ...

  4. FPGA中IBERT核的应用(转)

    https://wenku.baidu.com/view/50a12d8b9ec3d5bbfd0a74f7.html (必看)    摘要 IBERT即集成式比特误码率测试仪,是Xilinx专门用于具 ...

  5. L323 英语有必要学语法吗

    The Agony and Ecstasy of Grammar “Underline a relative clause.” This challenge would give a lot of a ...

  6. 2019.3.5 L261 Are All Our Organs Vital?

    Medicine has not always shown a lot of respect for the human body. Just think about the ghoulish dis ...

  7. LVS原理详解(3种工作方式8种调度算法)

    一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算 ...

  8. Vue.js与WdatePicker日历控件冲突问题的解决方案

    问题:同时使用Vue.js与WdatePicker时,双向绑定的日期字段获取不到界面输入的值,而且别的字段的值改变后,日期控件的内容会被清空 原因:WdatePicker不是Vue的插件,不能响应Vu ...

  9. count函数详细介绍

    select count(字段) from 表名; #得到字段中is not null的行数 select count(*)from 表名; #任何列,只要有一个非null就会被统计上.全为null( ...

  10. 广播多路访问链路上的OSPF

    实验要求:配置OSPF 拓扑如下: 配置如下: R1 enableconfigure terminal interface l0ip address 192.168.10.1 255.255.255. ...