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