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

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优先级队列(Priority Queue)?

    PriorityQueue是一个基于优先级堆的无界队列.它的元素是按照自然顺序排序的.在创建元素的时候,我们给它一个一个负责排序的比较器.PriorityQueue不允许null值,因为 它们没有自然 ...

  2. 第三节 java 数组

    一维数组: 同一种类型数据的集合,其实数组就是一个容器. 好处: 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[]  数组名 = new 元素类型 [元素个数或者元素长度 ...

  3. Codeforces Round #495 (Div. 2) B

    题目链接:http://codeforces.com/contest/1004/problem/B B. Sonya and Exhibition time limit per test 1 seco ...

  4. java基础语法学习DayOne

    一.关键字 1.概述:被java语言赋予特定含义的单词 2.特点:组成关键字的字母全部为小写 二.标识符 1.概述:给类.接口.方法.变量起名字时使用的字符序列 2.规则:只能使用英文大小写字母.数字 ...

  5. synchronized(六)

    package com.bjsxt.base.sync006;/** * 锁对象的改变问题 * @author alienware * */public class ChangeLock { priv ...

  6. Linux:Apache安装与启动

    Apache安装与启动 1.查看是否安装:rpm -qa| grep httpd2.挂载系统 mount /dev/cdrom /mnt/cdrom3.进入软件包 cd /mnt/cdrom/Pack ...

  7. PHPexcel 导入import 数据到 mysql: mysql 查询数据是否存在, 如果存在返回id, 不存在, 插入返回id. 2) mysql_query , mysql_connect, mysql_select_db, mysql_error, mysql_num_rows,mysql_close

    一: 要求: 上面的图表 中的数据插入到 3张表中. 1)t_vide_warehourse 分类表: 此表中包含 一级分类 和二级分类.  二级分类是一级分类的子级. 2)t_video_info  ...

  8. 界面设计-Edit控件的Style设置

    以下文字转贴ChinaCock QQ 223717588群: 1. 首先在Form上放一个TEdit类型控件Edit1,最终的效果如下图: 2.选中控件Edit1,点击鼠标右键,在弹出菜单中选择“Ed ...

  9. linux 基础命令使用

    Centos中查看系统信息的常用命令 系统日志文件(可以通过cat或tail命令来查看) /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一  ...

  10. Django之静态文件配置

    在项目目录中打开settings.py,在最下面配置静态文件(css文件,js文件以及其他静态配置文件),比如说html使用到了jQuery框架,我们要在项目根目录下创建statics(可自定义),将 ...