国产探花免费观看_亚洲丰满少妇自慰呻吟_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) 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑龙江省| 黄大仙区| 宜章县| 洮南市| 北宁市| 巫溪县| 巨野县| 新野县| 霍邱县| 镇坪县| 佛冈县| 锦州市| 九江市| 古蔺县| 云阳县| 禄丰县| 疏附县| 沽源县| 松原市| 抚远县| 建德市| 洞头县| 延边| 新田县| 涿鹿县| 大竹县| 湄潭县| 廉江市| 淮阳县| 安塞县| 广丰县| 昌平区| 广丰县| 德保县| 普定县| 兴文县| 望江县| 逊克县| 都匀市| 蛟河市| 彭水|