Mysql - -导出数据之全局变量secure_file_priv
关于整理提权时,使用到的secure_file_priv函数的一个Mysql基础知识总结
一、目的
- 了解mysql全局变量:secure_file_priv
- 将msyql数据库中的数据导入到本地(对secure_file_priv全局变量属性设置为可读);
二、举例
这里将msyql.user数据表中的内容导出到本地,mysql版本5.0.x默认导出成功:
但是测试的其它后续版本不能导出:
查看原因是由于其值为NULL,且变量只可读不能使set global命令进行修改
三、介绍secure_file_priv
官网对其解释:
其值具体含义为:
值 | 含义 |
---|---|
空(empty string) | 不限制mysqld在任意目录导入导出 |
dirname(/tmp) | 限制mysqld只能在/tmp目录中进行导入导出,其它目录不执行 |
NULL | 不限制不允许mysqld导入导出(5.1版本默认) |
四、修改secure_file_priv值可导出
4.1 测试可否导入导出
Tips:mysql5.0.x以下默认可导出
不可导入导出时我们遇到如下情况:
4.2 修改其值方法
- 针对安装目录下存在my.ini文件的方法
- 针对安装目录下不存在my.ini文件的方法(mysql 8.x后的版本未解决,其压缩版本安装后无my.ini配置文件)
这里演示的是有my.ini配置文件方法(phpStudy演示)
》》打开my.ini配置文件
》》在[msyqld] 下添加变量声明
》》重启mysql服务
》》进入数据库查看secure_file_priv值(已为空)
》》将user表中数据导出到本地(成功)