ubuntu20.04+mysql8.0配置secure_file_priv并使用load_file()函数实现任意文件读写

secure_file_priv属性值的设置:
secure_file_priv为NULL 表示不允许导⼊导出
secure_file_priv指定⽂件夹时,表示mysql的导⼊导出只能发⽣在指定的⽂件夹
secure_file_priv没有设置时,则表示没有任何限制
我的secure_file_priv默认文件目录为/var/lib/mysql-files表示mysql只能在此目录下进行文件读写,现在我需要使secure_file_priv不设置任何值,即修改成secure_file_priv=,从而实现mysql任意目录下的文件导入导出
在这里插入图片描述
**问题:最近在学习mysql文件读写方面的知识,环境是ubuntu20.04+mysql8.0,网上很多教程都说在/etc/my.cnf的[mysqld]下⾯添加secure_file_priv=或者在/etc/mysql/my.cnf的[mysqld]下面添加secure_file_priv= **

可能是因为版本不同的原因,我遇到的情况是这样的:在这里插入图片描述
首先是找不到/etc/my.cnf这个文件,然后在/etc/mysql下找到了my.cnf,但进去之后却发现里面就两行话:

!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/

然后我尝试进入/etc/mysql/mysql.conf.d/,发现有两个文件,mysql.cnf和mysqld.cnf,依次查看这两个文件的内容
在这里插入图片描述
mysql.cnf:
在这里插入图片描述
很明显,没有[mysqld]
mysqld.cnf:
在这里插入图片描述
发现有[mysqld],然后在[mysqld]下面添加secure_file_priv=即可,保存后重启mysql服务

sudo service mysql restart

但是又遇到了新的问题:我已经修改secure_file_priv=(如下图)
在这里插入图片描述
但无法实现在任意目录下的文件导入导出,却能实现在原来默认配置的文件目录下的文件读写
secure_file_priv已经没有值了,理论上任意目录下的文件mysql都可以读写的
在这里插入图片描述
在网上找了很多资料,这篇博客帮助我解决了问题。
https://blog.csdn.net/cleanarea/article/details/85596940
如图
在这里插入图片描述
参考的其他博客:

https://www.cnblogs.com/wzyj/p/4519135.html
http://www.manongjc.com/detail/13-griszhfbgbkczwq.html
https://liayun.blog.csdn.net/article/details/109919451

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值