Win10使用mysqldump导出csv文件及期间遇到的问题
作为测试,我们这里使用了名为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文件及期间遇到的问题的更多相关文章
- mysqldump导出CSV格式及where导出时间范围问题解决
众所周知,mysqldump不但可以导出sql格式,还可以导出csv格式. 导出CSV格式的具体使用如下命令. mysqldump -uroot -ppassword -S /tmp/mysql999 ...
- 导出csv文件示例
导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...
- mysql SQLyog导入导出csv文件
1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的“更改” --> 字段 --> 变量长度 ...
- PHP 读取/导出 CSV文件
工作中经常会有遇到导入/导出的需求,下面是常用的方法.读取CSV文件,可以分页读取,设置读取行数,起始行数即可.导出CSV文件,用两种方法进行实现. /** * 读取CSV文件 * @param st ...
- Web 端 js 导出csv文件(使用a标签)
前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...
- PHP导出CSV文件出现乱码的解决方法
在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码.但是,在用PHP导出CSV文件时,如果写入的数据是使用UTF-8编码的日语.韩语之类的外文,就会出现乱码. 要解决PHP生成CSV文件的乱码 ...
- [转]PL/SQL Developer 导入导出csv文件
PL/SQL Developer 可以导入或者导出CSV文件. 导入CSV文件步骤: 1.选择tools->text importer.... 2.选择第二个Data to oracle选项卡, ...
- 导出csv文件数字会自动变科学计数法的解决方法
其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决 ...
- web前端导出csv文件
前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...
随机推荐
- redis-4.0.14 cluster 配置实战
1.操作系统配置 切换到root用户修改配置sysctl.conf vim /etc/sysctl.conf # 添加配置: vm.max_map_count= vm.overcommit_memor ...
- 如何在C中以二进制格式打印十进制数?
回答: #define CHAR_BITS 8 // size of character #define INT_BITS ( sizeof(int) * CHAR_BITS) //bits i ...
- C#经纬度加减运算(度°分′秒″格式)
经度是分和秒是按60进位,如果要做运算第一步就是转换成浮点数,之后就是计算和还原. using System.Text.RegularExpressions; public static double ...
- Maximum Subarray II
Given an array of integers, find two non-overlapping subarrays which have the largest sum. The numbe ...
- PHP 函数运行的内存
函数在运行期间占用的内存,在运行结束后会被回收.但是还有问题不明白,函数内部的echo在函数执行结束后还占用内存吗??? //PHP 函数执行完内存就会被收回 function test() { ec ...
- Linux操作系统常用命令合集——第六篇-软件包操作(2个命令)
一.前言介绍 软件包即程序包 程序包管理 关键词:rpm程序包管理.YUM仓库管理.源码编译安装 程序包管理: 将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装. ...
- 搭建自己的博客(二十一):通过django表单实现登录注册
1.变化的部分
- LOJ2541. 「PKUWC2018」猎人杀 [概率,分治NTT]
传送门 思路 好一个神仙题qwq 首先,发现由于一个人死之后分母会变,非常麻烦,考虑用某种方法定住分母. 我们稍微改一改游戏规则:一个人被打死时只打个标记,并不移走,也就是说可以被打多次但只算一次.容 ...
- 享学课堂java架构vip课程
1.wps文档地址 https://docs.qq.com/doc/DRVNLUndvTmFSdEhO 2.百度网盘地址 https://pan.baidu.com/s/1uxaTzJZHKrsw_H ...
- (转)kvm初识
一 虚拟化介绍 1 常见虚拟化软件VMware系列VMware workstation.VMware vsphere(VMware esxi).VMware Fusion(Mac) Xen 开源 半虚 ...