欢迎光临
我们一直在努力

在做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';

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。