MySQL導入導出數據庫及表數據


介於我們平時在使用MySQL導入導出數據很是頻繁,我特別搜集整理了一下,希望對小伙伴們有所幫助!

一、導出表文件

查詢表tb_user中的nickname,phone字段,導出到/tmp目錄下的test.csv文件。

SELECT nickname,phone FROM tb_user
INTO OUTFILE '/tmp/test.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'
LINES TERMINATED BY '\r\n';

 

FIELDS TERMINATED BY ---- 字段終止字符 
OPTIONALLY ENCLOSED BY ---- 封套符 
LINES TERMINATED BY ---- 行終止符

 

特別注意:以上語句的導出經常會出現如下的錯誤

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement。

mysql> SHOW VARIABLES LIKE "secure_file_priv";

+------------------+-----------------------+
| Variable_name | Value |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |

解決此方法:

一些版本的mysql對通過文件導入導出作了限制,默認不允許,
查看配置,執行mysql命令
SHOW VARIABLES LIKE "secure_file_priv";
如果value值為null,則為禁止,如果有文件夾目錄,則只允許改目錄下文件(測試子目錄也不行),如果為空,則不限制目錄;
 
修改配置可修改mysql配置文件,查看是否有
secure_file_priv = 
這樣一行內容,如果沒有,則手動添加,
secure_file_priv = /home 
表示限制為/home文件夾
secure_file_priv = 
修改完配置文件后,重啟mysql生效

正常導出結果為:

mysql> SELECT nickname,phone FROM vwc_user_wechat  INTO OUTFILE '/var/lib/mysql-files/test.csv'    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'    LINES TERMINATED BY '\r\n';
Query OK, 513 rows affected (0.01 sec)

 未完待續........


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM