mysql 导出 csv 参数 secure_file_priv 设置

梦莱3年前技术文章2282

一、功能

secure_file_priv 参数是用来限制数据导入和导出操作的效果,例如由LOAD data和SELECTINTO OUTFILE语句和LOAD_FILE()函数。只有具有FILE权限的用户才能执行该操作。

二、查询及参数设置

1、查询当前 secure_file_priv 参数

show variables like '%secure%';

 

2、参数含义

Secure_file_priv的详情如下:

图片1.png 

empty string:如果为空,则变量无效。这不是一个安全的设置。

dirname:如果设置为目录的名称,则服务器将导入和导出操作限制为仅对该目录中的文件进行操作。目录必须存在;服务器不会创建它。

NULL:如果设置为NULL,则表示服务器将禁用导入和导出操作。

3、参数配置

该参数是只读参数,不能使用 set global 参数修改,只能通过 参数配置文件 /etc/my.cnf 进行修改,在配置文件 mysqld 下 添加参数 secure_file_priv="" 或者指定路径均可。修改完需重启实例生效

图片2.png 

三、操作

1、导出

select * from a where deptno <50 INTO OUTFILE "/data/mysql/b.csv" FIELDS TERMINATED BY "," ENCLOSED BY ''  
 LINES TERMINATED BY '\n' ;

fields terminated by描述字段的分隔符,默认情况下是tab字符(\t)

enclosed by描述的是字段值的括起字符。下面sql里没有括起字符

escaped by描述的转义字符。默认的是反斜杠(backslash:\ )

lines terminated by : 行与行之间的分隔

⚠️ 导出的路径数据库需要有权限访问,不然会报错


相关文章

一条sql 在MySQL中是如何执行的

在 MySQL 中,SQL 查询的执行涉及多个内存区域和处理步骤,以确保查询能够高效地执行和返回结果。以下是 SQL 查询在 MySQL 中执行时通常会经过的内存路径:    &n...

TCP短连接和长连接

TCP短连接和长连接

     当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,...

EMR-flinksql运行失败问题

EMR-flinksql运行失败问题

运行flinksqlsql-client.sh报错:[root@emr1 bin]# ./sql-client.shSLF4J: Class path contains multiple SLF4J...

netca报错UnsatisfiedLinkError exception loading native library

1、netca报错:UnsatisfiedLinkError exception loading native library: njni11报错:[oracle@test-db ~]$ netca...

触发kube-apiserver流控导致ACK集群中节点状态异常

触发kube-apiserver流控导致ACK集群中节点状态异常

问题现象ack集群中一个节点状态为notready,但是排查节点上的核心组件:kubelet、kube-proxy、flannel、etcd等状态均为正常。排查步骤1、查日志分别排查核心组件以及系统日...

alluxio短路读

alluxio短路读

原理当Client和Worker在同一节点时,客户端对本地缓存数据的读写请求可以绕过RPC接口,使本地文件系统可以直接访问Worker所管理的数据,这种情况被称为短路写,速度比较快,如果该节点没有Wo...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。