作为测试,我们这里使用了名为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. 利用Python读取和修改Excel文件(包括xls文件和xlsx文件)——基于xlrd、xlwt和openpyxl模块

    https://blog.csdn.net/sinat_28576553/article/details/81275650#4.4%C2%A0%E4%BF%9D%E5%AD%98%E5%B7%A5%E ...

  2. stm32 HardFault_Handler调试及问题查找方法——飞思卡尔

    看到有朋友遇到Hard Fault 异常错误,特地找到一篇飞思卡尔工程师写的一片经验帖,定位Hard Fault 异常. Kinetis MCU 采用 Cortex-M4 的内核,该内核的 Fault ...

  3. [GraphQL] Set variable and default value & alias

    query($category:PetCategory=CAT, $status:PetStatus=AVAILABLE) { #availablePets is the alias availabl ...

  4. 自定义的JSP标签

    JSP标签 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这 ...

  5. GBDT算法梳理

    1.GBDT(Gradient Boosting Decision Tree)思想 Boosting : 给定初始训练数据,由此训练出第一个基学习器: 根据基学习器的表现对样本进行调整,在之前学习器做 ...

  6. js-清空array数组

    两种实现方式: 1.splice:删除元素并添加新元素,直接对数组进行修改,返回含有被删除元素的数组. arrayObject.splice(index,howmany,element1,....., ...

  7. URL中的String参数问题

    测试一个查询数据的接口,类似这样的URL:.../search?type=Astring,在浏览器中输入URL获取到的数据为空,但通过其它方式确认数据库中确实已有数据,怀疑是接口实现问题.找接口实现的 ...

  8. qml 3d 纪念那些曾经爬过的坑

    1.使用多position画图时,图形不受控制的问题? 在变量属性设置时Attribute中的attributeBaseType 数据类型一定要和 Buffer中data 数据类型一定要相同. 例如  ...

  9. dashucoding记录2019.6.8

    WordPress网站 网址: https://cn.wordpress.org/ 阿里云市场 https://market.aliyun.com/products/53616009?spm=a2c4 ...

  10. (转)supervisor

    转载:https://www.cnblogs.com/zhoujinyi/p/6073705.html 进程管理supervisor的简单说明 背景: 项目中遇到有些脚本需要通过后台进程运行,保证不被 ...