mysql两条记录合成一条数据_踩坑记录之csv数据导入MySQL
可能采坑的操作
將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文件的導入和導出路徑是否有默認的路徑設置,或者是默認不允許導入導出。
secure_file_prive=null ––限制 mysql 不允許導入導出
secure_file_priv=/path/ – –限制 mysql 的導入導出只能發生在默認的/path/目錄下
secure_file_priv=’’ – –不對 mysql 的導入和導出做限制
打開MySQL的配置文件 my.cnf :vim /etc/my.cnf
在該文件中添加一行內容:secure_file_priv =
重啟 MySQL,然后查看show variables like '%secure%'; ?顯示如下圖即可正常導入數據。
寫在最后
我是愛狗子的老饕,
轉眼就研三,過去的這兩年在各位大佬的照顧下,學到了不少東西,感謝。
一條路走不通的時候,要學會放過自己,換條路也許會更好,讀研讀博亦是如此,有些東西確實犯不著,最最最最最重要的當然是開心啦! ?哈哈哈
PS:本文為師弟(海南道明寺)投稿,單身~ 具體不清楚他畢業去向,對他感興趣的可留言。
總結
以上是生活随笔為你收集整理的mysql两条记录合成一条数据_踩坑记录之csv数据导入MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python类型转换异常捕捉_Java中
- 下一篇: oraclesqldeveloper 批