關於整理提權時,使用到的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表中數據導出到本地(成功)