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

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. .net core webapi 配置swagger调试界面

    一.创建一个.net core webapi的项目: 二.在nuget程序包管理器控制台输入  Install-Package Swashbuckle -version 6.0.0-beta902   ...

  2. CSS--思维导图

    CSS--思维导图

  3. Ubuntu16.04 安装Teamviewer

    有时需要远程控制ubuntu系统的电脑,Teamviewer在linux下也可以进行安装,大致看了下向日葵在linux下配置好像比较麻烦,而且Teamviewer远程控制的流畅性一直不错,就选择安装T ...

  4. Gym - 100971J (思维+简单bfs)

    题目链接:http://codeforces.com/gym/100971/problem/J J. Robots at Warehouse time limit per test 2.0 s mem ...

  5. 记一次ios加急上架经历

    https://developer.apple.com//contact/app-store/?topic=expedite app迭代版本上架之前一直好好的没报错,没crash,但是有一次加急上架, ...

  6. mysql解决数据库高并发

    分表分库 数据库索引 redis缓存数据库 读写分离 负载均衡: 将大量的并发请求分担到多个处理节点,由于单个处理节点的故障不影响服务,负载均衡集群同事也实现了高可用性.

  7. ubantu 设置默认python3.叽叽叽的环境变量

    wkp 发表于 2017-8-22 17:49:08 | 只看该作者 sudo vi ~/.bashrc 在里面加一句 alias python='python3' 或者再简单一点 alias p=' ...

  8. C# EditPlus环境设置

    C# EditPlus环境设置 先要设置环境变量   5.0的 C:\Program Files\MSBuild\12.0\Bin 6.0的  C:\Windows\Microsoft.NET\Fra ...

  9. Diamorphine rootkit的使用

    仅作LKM rootkit研究之用,滥用后果自负. 查看支持版本是否为2.6.x/3.x/4.x: uname -r 下载代码: git clone https://github.com/m0nad/ ...

  10. python 基础 内置函数 和lambda表达式

    1.把任意数值转化为字符串有两种方法. (1)str()用于将数值转化为易于人读的形式.print(str("我是中国人"))>>>我是中国人 (2)repr() ...