国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL驗證用戶權限的方法

2024-07-24 13:08:05
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL驗證用戶權限的方法,需要的朋友可以參考下
 

知識歸納

因為MySQL是使用User和Host兩個字段來確定用戶身份的,這樣就帶來一個問題,就是一個客戶端到底屬于哪個host。
如果一個客戶端同時匹配幾個Host,對用戶的確定將按照下面的優先級來排

  • 基本觀點越精確的匹配越優先
  • Host列上,越是確定的Host越優先,[localhost, 192.168.1.1, wiki.yfang.cn] 優先于[192.168.%, %.yfang.cn],優先于[192.%, %.cn],優先于[%]
  • User列上,明確的username優先于空username。(空username匹配所有用戶名,即匿名用戶匹配所有用戶)
  • Host列優先于User列考慮

當你登錄mysql服務器之后,你可以使用user()和current_user()來檢查你登陸的用戶。

  • user() 返回你連接server時候指定的用戶和主機
  • current_user() 返回在mysql.user表中匹配到的用戶和主機,這將確定你在數據庫中的權限

當你登錄服務器并執行MySQL的命令時,系統將檢查你當前的用戶(current_user)是否有權限進行當前操作。

  • 首先檢查user表中的全局權限,如果滿足條件,則執行操作
  • 如果上面的失敗,則檢查mysql.db表中是否有滿足條件的權限,如果滿足,則執行操作
  • 如果上面的失敗,則檢查mysql.table_priv和mysql.columns_priv(如果是存儲過程操作則檢查mysql.procs_priv),如果滿足,則執行操作
  • 如果以上檢查均失敗,則系統拒絕執行操作。

測試過程
創建3個用戶名相同,HOST和權限都不同的USER
 

  1. mysql> grant select on *.* to ''@'%' identified by '123'
  2. Query OK, 0 rows affected (0.00 sec) 
  3. mysql> grant select,createon *.* to 'bruce'@'10.20.0.232' identified by '123'
  4. Query OK, 0 rows affected (0.01 sec) 
  5. mysql> grant select,create,deleteon *.* to 'bruce'@'%' identified by'123'
  6. Query OK, 0rows affected (0.00 sec) 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 秦安县| 清徐县| 沂南县| 旬邑县| 元朗区| 衡阳县| 高淳县| 仁寿县| 天峨县| 衡水市| 舟山市| 万年县| 来凤县| 嘉黎县| 无极县| 石台县| 博罗县| 昌乐县| 富平县| 隆德县| 武宣县| 南安市| 尉氏县| 曲周县| 屯昌县| 金昌市| 合作市| 民县| 阿鲁科尔沁旗| 海宁市| 平原县| 涡阳县| 荔浦县| 县级市| 加查县| 永仁县| 同江市| 青河县| 明溪县| 大方县| 日喀则市|