可能采坑的操作
将excel表格转换成csv 逗号分隔,然后notepad检查文件是否是utf8编码,保存。
打开 phpMyAdmin , 选择要导入的表格,然后点击导入;
导入设置
点击执行之后,可能会等很久很久很久。。。。取决于数据量的大小,如果等了很久还没导入成功或者导入失败,亦或者数据导入一半就中断。。。那么可能要注意以下几点
phpMyAdmin 是用php写的,所以需要注意php超时的问题,数据量太大,超过了超时值 ,那么导入脚本会停止,导致数据导入中断。将php超时设为合适的大小即可。
PHP超时参数设置了,csv文件格式也没有问题。。那可能是网络的问题。。或者其他我不知道的原因,导致数据传到一半就502(我今天就是)。。。sad
换一个导入姿势
令人难过的提示
进阶操作
因为之前一直用的上一种操作将数据导入MySQL,所以这次出了问题,就一直死磕。。。结果白白浪费了一堆时间,有时候一条路走不通的时候,还是需要想想其他办法
将csv文件上传到服务器,然后MySQL本地导入
将整理好的 csv文件(逗号分隔),上传到 /tmp/ 目录下 ,因为mysql默认使用了 /tmp 作为临时读写目录。否则可能会报没有权限之类的错误。
使用这条语句
show variables like '%secure%';
查询mysql文件的导入和导出路径是否有默认的路径设置,或者是默认不允许导入导出导入语句,其中 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';
如果出现报错:
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%';
显示如下图即可正常导入数据。
写在最后
我是爱狗子的老饕,
转眼就研三,过去的这两年在各位大佬的照顾下,学到了不少东西,感谢。
一条路走不通的时候,要学会放过自己,换条路也许会更好,读研读博亦是如此,有些东西确实犯不着,最最最最最重要的当然是开心啦! 哈哈哈
PS:本文为师弟(海南道明寺)投稿,单身~ 具体不清楚他毕业去向,对他感兴趣的可留言。