into outfile csv问题:

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

into outfile 问题:

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


root@localhost 17:54:  [(none)]>SELECT CategoryCode '类别编码',CategoryName '类别名称',ParentCode AS '父编码',LEVEL AS '级别',CASE IsLeaf WHEN 1 THEN '是' ELSE '否' END AS '是否末类',CASE STATUS WHEN 1 THEN '有效' ELSE '无效' END AS '状态' FROM erp_cms.category into outfile '/tmp/a.csv';

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

root@localhost 17:55:  [(none)]>show variables like 'secure-file-priv';


root@localhost 17:57:  [(none)]>show variables like '%secure_file%';
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
1 row in set (0.00 sec)

mysql定义了outfile的导出目录 ,默认是/var/lib/mysql-files/

解决方法有2种 

1. 导出数据到/var/lib/mysql-files/ 中
root@localhost 17:57:  [(none)]>SELECT CategoryCode '类别编码',CategoryName '类别名称',ParentCode AS '父编码',LEVEL AS '级别',CASE IsLeaf WHEN 1 THEN '是' ELSE '否' END AS '是否末类',CASE STATUS WHEN 1 THEN '有效' ELSE '无效' END AS '状态' FROM erp_cms.category into outfile '/var/lib/mysql-files/a.csv';
Query OK, 313 rows affected (0.00 sec)


2. 修改my.cnf  加入 [mysqld]  secure-file-priv ##不对mysql导出目录做限制(不建议)

打开后发现csv乱码:
mysql默认编码:
root@localhost 18:00:  [(none)]>show variables like '%char%';
+--------------------------+-------------------------------------+
| Variable_name            | Value                               |
+--------------------------+-------------------------------------+
| character_set_client     | utf8                                |
| character_set_connection | utf8                                |
| character_set_database   | utf8                                |
| character_set_filesystem | binary                              |
| character_set_results    | utf8                                |
| character_set_server     | utf8                                |
| character_set_system     | utf8                                |
| character_sets_dir       | /usr/share/percona-server/charsets/ |
+--------------------------+-------------------------------------+
8 rows in set (0.00 sec)

解决方法:
导出时指定编码: GBK 。分隔符可选。
root@localhost 17:57:  [(none)]>SELECT CategoryCode '类别编码',CategoryName '类别名称',ParentCode AS '父编码',LEVEL AS '级别',CASE IsLeaf WHEN 1 THEN '是' ELSE '否' END AS '是否末类',CASE STATUS WHEN 1 THEN '有效' ELSE '无效' END AS '状态' FROM erp_cms.category into outfile '/var/lib/mysql-files/a.csv'  CHARACTER SET gbk  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'  LINES TERMINATED BY '\n'
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 Python
CSV文件
【10月更文挑战第18天】CSV文件
103 2
|
3月前
|
数据挖掘 Python
CSV文件合并
CSV文件合并
40 1
|
3月前
CSV文件合并(续)
CSV文件合并(续)
36 0
|
C# 数据库 Windows
C#开发:CSV文件写入
C#开发:CSV文件写入
232 0
|
数据挖掘 Python
大神是这样处理 CSV 数据的
大神是这样处理 CSV 数据的
|
存储 数据挖掘 Python
CSV文件操作介绍
CSV文件操作介绍
166 0
C#读取CSV
public class CSVFileHelper { /// /// 将DataTable中数据写入到CSV文件中 /// /// 提供保存数据的DataTable /// CSV的文件路径 public static voi...
2180 0
|
JSON 数据格式 索引
深入理解pandas读取excel,txt,csv文件等命令
深入理解pandas读取excel,txt,csv文件等命令 pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.
6828 0
|
关系型数据库 MySQL 移动开发