最近需要导出线上的某些数据给业务人员,由于不能直接操作生产库,自己写了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数据导出相关推荐

  1. mysql数据导出权限问题

    mysql数据导出的方法有非常多,比如mysqldump, mysql -e 'sql' > file, 这些都能够非常方便的导出数据,但是在使用普通用户导出数据的时候,出现了问题. 1 sel ...

  2. python抓取数据库数据封装成json_用Python将mysql数据导出成json的方法

    1.相关说明 此脚本可以将Mysql的数据导出成Json格式,导出的内容可以进行select查询确定. 数据传入参数有:dbConfigName, selectSql, jsonPath, fileN ...

  3. php mysql 导出到excel,php mysql数据导出到excel文件

    这篇文章主要为大家详细介绍了php mysql数据导出到excel文件,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. 经测试代码如下: /** * ...

  4. 【MySQL】mysql数据导出

    目录 使用 SELECT ... INTO OUTFILE 语句导出数据 通过mysqldump命令导出数据和备份SQL 将指定主机的数据库拷贝到本地 在项目中,遇到需要把MySQL数据导出到本地时, ...

  5. MySQL数据导出与导入

    发一篇基础的,关于MySQL数据导出导入的文章,目的有二: 1.备忘 2.供开发人员测试 工具 mysql mysqldump 应用举例 导出 导出全库备份到本地的目录 mysqldump -u$US ...

  6. c 控制mysql数据导出_MySql数据库导入导出的三种方式

    第一种: 使用mysql自带的Workbench可视化工具进行操作,如图: 选择好以后按  start Export 选择好以后按  start import 第二种: 使用Navicat 右键点击转 ...

  7. mysql 数据导出语句_MySQL 数据导出

    将表中数据导出为一个文本文件,最简单的方法是用 SELECT...INTO OUTFILE 语句,它会将查询结果直接导出为服务器主机上的一个文件. 利用 SELECT...INTO OUTFILE 语 ...

  8. 使用 Debezium 将 MySQL 数据导出到 Amazon S3

    大数据应用需要针对海量数据进行统计操作,而数据库和数仓的存储空间有限.所以,我们通常会将数据从数据库中导出,并转换成列式格式的文件,存在 Amazon S3 这样的对象存储服务中. 我们可以通过扫描的 ...

  9. mysql 数据导出导入

    1.每个版本的数据库字符集会有差别,如果导出数据库的话会包字符集异常,需要改下字符集, yum -y install holland-mysqldump.noarch #备份组件 mysqldump ...

最新文章

  1. 【Java】阿里巴巴java开发手册总结(我能看懂的)
  2. .net版 类似火车头的网页采集
  3. MongoDb注意事项
  4. ED/EP系列5《消费指令》
  5. 浅显易懂讲讲网关和DNS的概念—Vecloud微云
  6. SVN 放弃修改或撤销删除
  7. ESP32 OTA 策略的优点与可能的问题
  8. mac下natapp使用
  9. php并发取源码,PHP读取大文件源码示例-Swoole多进程读取大文件
  10. Spring Security:自定义登录页面
  11. O2O年度反思:流量不再为王不赚钱就得死
  12. android极光推送声音,Android 极光推送JPush---自定义提示音
  13. python和java哪个好-Python和JAVA的就业前景哪个好点?
  14. 连文件搜索都不会用,也不自己反省一下?
  15. 导航一体机端口测试软件,导航端口查看器
  16. 运用python求次方
  17. 审视自己也是一种进步
  18. 【M语言编程学习笔记之一, 查找当前路径下文件】
  19. 【Math】证明随机分布X1, X2, ..., Xn独立同分布的最大概率问题
  20. 九宫山自驾露营二日游

热门文章

  1. MySQL常用存储引擎之CSV
  2. spring的aop整理
  3. final、finally与finalize的区别
  4. opencv轮廓周长原理_OpenCV3 - 轮廓特征
  5. LinkedBlockingQueue源码
  6. pytorch教程龙曲良06-10
  7. 电平转换电路(三极管共射极)
  8. iOS 之持久化存储 plist、NSUserDefaults、NSKeyedArchiver、数据库
  9. 剑指offer 回溯法 面试题12 矩阵中的路径 面试题13 机器人的运动范围
  10. 纽瓦克市政厅电脑遭勒索软件劫持,部分公共服务被迫瘫痪