在做mysql數據導出的時候,所遇到的問題如下:

mysql 默認對導出的目錄有權限限制,也就是說使用命令行進行導出的時候,需要指定目錄進行操作;
mysql> select * from t1 into outfile '/tmp/t1_mysql.csv' fields terminated by ",";
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement


解決方法:

1. 查詢mysql 的secure_file_priv 值配置的是什麼
[mysqld]
secure-file-priv=/var/lib/mysql

[root@localhost ~]# systemctl restart mysqld
[root@localhost ~]# mysql -u root


2. 使用 into outfile 開始導出:因爲secure_file_priv配置的關係,所以必須導出到 /var/lib/mysql/目錄下
mysql> select * from t1 into outfile '/var/lib/mysql/t1_mysql.csv' fields terminated by "," OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

3. 關鍵字解釋:因爲導出的數據會出現一些亂碼或者特殊字符,所以使用以上關鍵字進行轉義
FIELDS TERMINATED BY  ','  OPTIONALLY ENCLOSED BY  ' " '  LINES TERMINATED BY '\n';

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章