mysql 导出 csv 参数 secure_file_priv 设置

梦莱1年前技术文章782

一、功能

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 : 行与行之间的分隔

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


相关文章

RBAC配置只读用户

一.背景有时候需要给第三方业务访问k8s集群,但是rancher无法实现提取容器内文件的功能。此时需要给第三方直接访问k8s集群的能力,并且进行一定的权限限制二.操作前了解相关配置和要求熟悉linux...

数据湖Iceberg

数据湖Iceberg

1、概述         Iceberg 是一个面向海量数据分析场景的开放表格式(Table Format)。表格式(Table  Format)可以理解为元数据以及数据文件的一种组织方式,处于计算框...

使用Velero备份与恢复K8s集群及应用

使用Velero备份与恢复K8s集群及应用

环境3台虚拟机组成一主两从的测试集群,使用NFS作为动态存储主机IP系统k8s-master192.168.1.10centos7.9k8s-node1192.168.1.11centos7.9k8s...

MySQL运维实战(4.8) SQL_MODE之NO_ENGINE_SUBSTITUTION

开启NO_ENGINE_SUBSTITUTION,建表时如果指定的存储引擎不可用或不存在,SQL报错。否则会使用默认的存储引擎替换。如果不设置NO_ENGINE_SUBSTITUTION,建表时指定的...

发表评论    

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