csv导入mysql_踩坑记录之csv数据导入MySQL

可能采坑的操作

  1. 将excel表格转换成csv 逗号分隔,然后notepad检查文件是否是utf8编码,保存。

    be061514dd0cdb628778d8a1d9142cfd.png

  2. 打开 phpMyAdmin , 选择要导入的表格,然后点击导入;

    93b352a4d9976a95b378182ed79bd5cb.png

    导入设置

  3. 点击执行之后,可能会等很久很久很久。。。。取决于数据量的大小,如果等了很久还没导入成功或者导入失败,亦或者数据导入一半就中断。。。那么可能要注意以下几点

  • phpMyAdmin 是用php写的,所以需要注意php超时的问题,数据量太大,超过了超时值 ,那么导入脚本会停止,导致数据导入中断。将php超时设为合适的大小即可。

  • PHP超时参数设置了,csv文件格式也没有问题。。那可能是网络的问题。。或者其他我不知道的原因,导致数据传到一半就502(我今天就是)。。。sad

  • 换一个导入姿势

    258dfac2b4324aab4be02da9c8e512cf.png

    令人难过的提示

进阶操作

  • 因为之前一直用的上一种操作将数据导入MySQL,所以这次出了问题,就一直死磕。。。结果白白浪费了一堆时间,有时候一条路走不通的时候,还是需要想想其他办法

    0a165daf180bafd1331b642cbc23f6ae.png

将csv文件上传到服务器,然后MySQL本地导入
  1. 将整理好的 csv文件(逗号分隔),上传到 /tmp/ 目录下  ,因为mysql默认使用了 /tmp 作为临时读写目录。否则可能会报没有权限之类的错误。

  2. 使用这条语句show variables like '%secure%';查询mysql文件的导入和导出路径是否有默认的路径设置,或者是默认不允许导入导出

  3. 导入语句,其中 csv 里面的列数要和表里面的一一对应;csv文件必须是文件的绝对路径;FIELDS TERMINATED BY: 指定分隔符;LINES TERMINATED BY: 指定换行符

    LOAD DATA INFILE '/tmp/longan.posAnno.csv' INTO TABLE longan_GeneSearch_GenePosAnno FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
  1. 如果出现报错:The MySQL server is running with the –secure-file-priv option so it cannot execute this statement,则使用这条语句show variables like '%secure%';查询mysql文件的导入和导出路径是否有默认的路径设置,或者是默认不允许导入导出。

-file
  • 打开MySQL的配置文件 my.cnf :vim /etc/my.cnf

  • 在该文件中添加一行内容:secure_file_priv =

  • 重启 MySQL,然后查看show variables like '%secure%';  显示如下图即可正常导入数据。

808a48904f8031e2db924cb1ba011824.png



写在最后

我是爱狗子的老饕,
转眼就研三,过去的这两年在各位大佬的照顾下,学到了不少东西,感谢。
一条路走不通的时候,要学会放过自己,换条路也许会更好,读研读博亦是如此,有些东西确实犯不着,最最最最最重要的当然是开心啦!  哈哈哈

PS:本文为师弟(海南道明寺)投稿,单身~ 具体不清楚他毕业去向,对他感兴趣的可留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值