在作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 statementmysql


解决方法:

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

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


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';this

相关文章
相关标签/搜索