MySQL into outfile secure-file-priv

MySQL的INTO OUTFILE功能默认受限于secure_file_priv参数。当该参数非空时,需确保导出路径在指定目录下。无法通过`set global`修改此参数,需编辑my.cnf配置文件,重启MySQL服务。导出文件时,路径必须存在且与MySQL环境匹配。此外,可通过特定SQL语句添加列名到导出文件。
摘要由CSDN通过智能技术生成

MySQL可以使用 into outfile 做文件的直接倒出,但是,数据库默认这个服务是没有开启的,直接运行select * from XXX into outfile ‘xxx.xlsx’;,则会报如下错误:

[HY000][1290] The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

show global variables like ‘%secure_file_priv%’;
secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()传到哪个指定目录。

secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。
因为 secure_file_priv 参数是只读参数,不能使用set global命令修改

解决方法

打开my.cnfmy.ini,加入以下语句后重启mysql。

secure_file_priv=''
service mysql restart

此时再执行:

select a.权益名称,a.销售品NBR from `权益相关销售品(0103)` a into outfile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值