作为测试,我们这里使用了名为testdb的数据库中的名为test_table的表,首先我们使用如下SQL来查看其中有何数据:

select * from testdb.test_table

数据如下:

id name age point brief
1 刘德华 23 96.12 我爱你亲爱的姑娘
2 周杰伦 22 93.20 七里香
3 0 0.00
4 周润发 0 0.00 "有没有人曾告诉你"

然后在命令行执行如下指令尝试导出CSV文件:

mysqldump -uroot -p testdb test_table -t -T "D:/test/data/" --fields-enclosed-by="\" --fields-terminated-by=","

然后就看到报错了:

 SQL 错误 [1290] [HY000]: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

然后我们在MySQL命令行下执行:

show variables like '%secure%'

看到结果:

Variable_name            |Value                                          |
-------------------------|-----------------------------------------------|
require_secure_transport |OFF |
secure_auth |ON |
secure_file_priv |C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\ |

这里的secure_file_priv表示我们默认只能将导出的文件放到这个位置:C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\

我们这里尝试将C:\ProgramData\MySQL\MySQL Server 5.7目录下的my.ini文件进行如下修改:

secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"

这一行前面加一个# 改为:

# secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"

然后在命令行执行services.msc进入服务管理界面,重启mySQL5.7对应的服务。

但是发现这样还是不行的。

继续尝试将这一行取消掉注释,并改成:

secure-file-priv=""

然后重启MySQL服务。

执行如下命令导出结果:

 mysqldump -uroot -p testdb test_table -t -T "D:/test/data/" --fields-enclosed-by="\" --fields-terminated-by=","

发现可以了,在D:/test/data/目录下生成了两个文件:

  • test_table.sql
  • test_table.txt

test_table.sql内容为空,因为-t选项设置成了表结果不导出;

test_table.txt内容如下:

\1\,\刘德华\,\23\,\96.12\,\我爱你亲爱的姑娘\
\2\,\周杰伦\,\22\,\93.20\,\七里香\
\3\,\\,\0\,\0.00\,\\
\4\,\周润发\,\0\,\0.00\,\"有没有人曾告诉你"\

这个时候发现好像哪里不对,哦,原来我双引号的地方没有填写好,暂时还不知道怎么办,所以尝试下面这种办法。

我们可以执行如下SQL在MySQL命令行下导出数据:

SELECT * INTO OUTFILE 'D:/test20181120.csv'
FIELDS TERMINATED BY ',' OPTIONALLY
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
FROM testdb.test_table;

执行完SQL后,会在D盘根目录下生成一个名为test20181120.csv的文件,内容如下:

1,"刘德华",23,96.12,"我爱你亲爱的姑娘"
2,"周杰伦",22,93.20,"七里香"
3,"",0,0.00,""
4,"周润发",0,0.00,"\"有没有人曾告诉你\""

Win10使用mysqldump导出csv文件及期间遇到的问题的更多相关文章

  1. mysqldump导出CSV格式及where导出时间范围问题解决

    众所周知,mysqldump不但可以导出sql格式,还可以导出csv格式. 导出CSV格式的具体使用如下命令. mysqldump -uroot -ppassword -S /tmp/mysql999 ...

  2. 导出csv文件示例

    导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...

  3. mysql SQLyog导入导出csv文件

    1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的“更改” --> 字段 --> 变量长度 ...

  4. PHP 读取/导出 CSV文件

    工作中经常会有遇到导入/导出的需求,下面是常用的方法.读取CSV文件,可以分页读取,设置读取行数,起始行数即可.导出CSV文件,用两种方法进行实现. /** * 读取CSV文件 * @param st ...

  5. Web 端 js 导出csv文件(使用a标签)

    前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...

  6. PHP导出CSV文件出现乱码的解决方法

    在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码.但是,在用PHP导出CSV文件时,如果写入的数据是使用UTF-8编码的日语.韩语之类的外文,就会出现乱码. 要解决PHP生成CSV文件的乱码 ...

  7. [转]PL/SQL Developer 导入导出csv文件

    PL/SQL Developer 可以导入或者导出CSV文件. 导入CSV文件步骤: 1.选择tools->text importer.... 2.选择第二个Data to oracle选项卡, ...

  8. 导出csv文件数字会自动变科学计数法的解决方法

    其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决 ...

  9. web前端导出csv文件

    前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...

随机推荐

  1. git 将master分支合到自己的开发分支

    背景: 一般开发自己的分支都是从最新的master上拉取,但中间master会有改动,此时需要将最新的master合到自己的分支中 命令: 1. 查看当前的分支,星号标识为当前分支:(如果查询结果有m ...

  2. Oracle递归查询connect by

    一.概述 Oracle中可以通过START WITH . . . CONNECT BY . . .子句来实现SQL的层次查询. 自从Oracle 9i开始,可以通过 SYS_CONNECT_BY_PA ...

  3. Git报错:Please tell me who you are.

    Git在提交的时候报错 Please tell me who you are. 报错 Please tell me who you are. 具体如下: 原因:明确报错.请告诉我你是谁.意思是你在提交 ...

  4. 2018 南京网络预赛Sum - 离线分段打表

    题意 设 $f(n)$ 为 $n=ab$ 的方案数,其中 $a,b$ 为无平方因子数. 例如,$f(6)=4$,因为 $6 = 1 \times 6 = 2 \times 3 = 3 \times 2 ...

  5. 数位DP【模板】

    经典题型 数位 DP 问题往往都是这样的题型,给定一个闭区间 $[l, r]$,让你求这个区间中满足 某种条件 的数的总数. 强烈推荐 OI Wiki——数位DP 例题 BZOJ 1026 题目:wi ...

  6. LA、Remember the Word (字典树, 简单dp)

    传送门 题意: 给你一个初始串 S,strlen(s) <= 3e5  然后给你 n 个单词. n <= 4000,  每个单词的长度不超过 100 : 问你这个初始串,分割成若干个单词的 ...

  7. Peaks 线段树合并

    Peaks 线段树合并 \(n\)个带权值\(h_i\)山峰,有\(m\)条山峰间双向道路,\(q\)组询问,问从\(v_i\)开始只经过\(h_i\le x\)的路径所能到达的山峰中第\(k\)高的 ...

  8. 前端逼死强迫症之DOM

    Dom:document.相当于把所有的html文件,转换成了文档对象. 之前说过:html-裸体的人:css-穿上衣服:js-让人动起来. 让人动起来,就得先找到他,再修改它内容或属性. 找到标签 ...

  9. HTTP状态码和支持的方法

    1. HTTP常用状态码   200 ok 客户端请求成功 400 bad request 客户端请求有语法错误,不能被服务器所理解 401 unauthorized 请求要求身份验证,对于登录后请求 ...

  10. 前端性能测试工具Chrome performance

    页面加载速度慢,到底是多少秒,瓶颈在哪里? 前端性能工具Chrome performance 结合F12,基本可以搞定. 一.Chrome performance 1.shift+ctrl+N进入谷歌 ...