记一次“曲折“的MySQL数据导出
最近需要导出线上的某些数据给业务人员,由于不能直接操作生产库,自己写了sql之后请DBA帮忙导出生产数据
得到了两个excel,但是dba跟我说其中一个文件太大导致无法打开(三十多万行的数据),我尝试了下,确实一打开就会提示文件已损坏, 如下:
从网上查了下excel单sheet完全是可以存储一百多万的数据,按理说30多万的数据量不应该影响文件的打开。由于无法直接将数据导出到excel文件给我(可能是使用的自带导出工具无法支持这么大数据量的导出),DBA 提供了一个txt文件,并让我自己使用Load File命令导入到本地数据库
// fields关键字指定了文件记段的分割格式
// terminated by分隔符:意思是以什么字符作为分隔符, enclosed by描述的是字段的括起字符。
// lines 关键字指定了每条记录的分隔符默认为'\n'即为换行符
LOAD DATA INFILE 'xx/data.txt' INTO TABLE xxxxx FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'
尝试了下导入,一开始我将文件存放在桌面上,执行导入命令就会提示没有权限
于是我将文件存储位置改为D盘根目录,权限是有了,但是会报如下错误 :
感觉是文件的格式出了问题, 我看了下txt文件的内容,我的load file命令的意思是以","
为字段间的分隔符,"\n"
为行分隔符, 字段内容使用' " '
双引号括起来,但是txt的文件的行分隔符明显有问题,行分隔符和字段分隔符都使用了"\n"
, 这与dba说的不符。
猜测是由于表有text类型字段,导致最后生成的file文件格式有点问题, 尝试过将一行记录的字段间的换行符去掉,再次执行那一行就不会报错了,但明显不可能手动将所有的字段的分隔符修正掉。于是只能将生产环境的数据按照sql的方式导出并在本地数据库执行
找dba提供了下表内所有数据的insert sql, 选择使用SQLyog 工具导入 操作如下: 数据库–>导入–>执行SQL脚本,然后选择对应的sql文件执行即可
最后应该只要导出即可
选择 工具–>导出表中所有数据行/结果
但是导出的csv文件存在两个问题,乱码和格式不正确
乱码应该是由于文件编码不一致造成的(虽然不明白为什么我指定了csv的文件格式为utf-8还会出现乱码),我用记事本打开csv文件,选“另存为”
,在下方保存按钮旁边的"编码"框处选择utf-8, 然后再打开就没有乱码了,但是文件的格式还是有问题,出现了很多奇怪的""和空行
最后我使用了MySQL Workbench来导入sql脚本数据再导出,得到最终正确的数据文件
Workbench 导入数据 :
选择 File --> Run SQL Script, 然后选择db和对应的字符集执行,如下图
数据导出 :
查询出全表数据后 选择 Query–> Export Results, 就可以得到导出的csv文件了,同样该文件有乱码的问题,按照上面的步骤重新设置下文件的编码格式就可以了
终于成功将数据导出了(T_T)
记一次“曲折“的MySQL数据导出相关推荐
- mysql数据导出权限问题
mysql数据导出的方法有非常多,比如mysqldump, mysql -e 'sql' > file, 这些都能够非常方便的导出数据,但是在使用普通用户导出数据的时候,出现了问题. 1 sel ...
- python抓取数据库数据封装成json_用Python将mysql数据导出成json的方法
1.相关说明 此脚本可以将Mysql的数据导出成Json格式,导出的内容可以进行select查询确定. 数据传入参数有:dbConfigName, selectSql, jsonPath, fileN ...
- php mysql 导出到excel,php mysql数据导出到excel文件
这篇文章主要为大家详细介绍了php mysql数据导出到excel文件,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 经测试代码如下: /** * ...
- 【MySQL】mysql数据导出
目录 使用 SELECT ... INTO OUTFILE 语句导出数据 通过mysqldump命令导出数据和备份SQL 将指定主机的数据库拷贝到本地 在项目中,遇到需要把MySQL数据导出到本地时, ...
- MySQL数据导出与导入
发一篇基础的,关于MySQL数据导出导入的文章,目的有二: 1.备忘 2.供开发人员测试 工具 mysql mysqldump 应用举例 导出 导出全库备份到本地的目录 mysqldump -u$US ...
- c 控制mysql数据导出_MySql数据库导入导出的三种方式
第一种: 使用mysql自带的Workbench可视化工具进行操作,如图: 选择好以后按 start Export 选择好以后按 start import 第二种: 使用Navicat 右键点击转 ...
- mysql 数据导出语句_MySQL 数据导出
将表中数据导出为一个文本文件,最简单的方法是用 SELECT...INTO OUTFILE 语句,它会将查询结果直接导出为服务器主机上的一个文件. 利用 SELECT...INTO OUTFILE 语 ...
- 使用 Debezium 将 MySQL 数据导出到 Amazon S3
大数据应用需要针对海量数据进行统计操作,而数据库和数仓的存储空间有限.所以,我们通常会将数据从数据库中导出,并转换成列式格式的文件,存在 Amazon S3 这样的对象存储服务中. 我们可以通过扫描的 ...
- mysql 数据导出导入
1.每个版本的数据库字符集会有差别,如果导出数据库的话会包字符集异常,需要改下字符集, yum -y install holland-mysqldump.noarch #备份组件 mysqldump ...
最新文章
- 【Java】阿里巴巴java开发手册总结(我能看懂的)
- .net版 类似火车头的网页采集
- MongoDb注意事项
- ED/EP系列5《消费指令》
- 浅显易懂讲讲网关和DNS的概念—Vecloud微云
- SVN 放弃修改或撤销删除
- ESP32 OTA 策略的优点与可能的问题
- mac下natapp使用
- php并发取源码,PHP读取大文件源码示例-Swoole多进程读取大文件
- Spring Security:自定义登录页面
- O2O年度反思:流量不再为王不赚钱就得死
- android极光推送声音,Android 极光推送JPush---自定义提示音
- python和java哪个好-Python和JAVA的就业前景哪个好点?
- 连文件搜索都不会用,也不自己反省一下?
- 导航一体机端口测试软件,导航端口查看器
- 运用python求次方
- 审视自己也是一种进步
- 【M语言编程学习笔记之一, 查找当前路径下文件】
- 【Math】证明随机分布X1, X2, ..., Xn独立同分布的最大概率问题
- 九宫山自驾露营二日游