MySQL資料庫許可權體系入門(1)---工作原理
ORACLE等大型資料庫的許可權驗證,一般都是XX擁有ZZ的許可權,而MySQL資料庫的許可權驗證在設計階段就體現的有所不同,它在這中間又加了一級緯度,變成:從YY來的那個XX擁有ZZ的許可權,如果換一個角度來描述,也可以說是:XX只有從YY連線過來,才能夠訪問ZZ。這樣理解的話,就跟ORACLE這類資料庫的身份驗證機制相同了,只不過ORACLE這類資料庫中,預設是不加YY這一層的(如果想加當然也可以支援),而在MYSQL中,YY成了一個必選項。
在本文正式開始前先描述這樣一段,並不是想說MySQL有多麼高階或先進,只是想表達這樣一種看法,MySQL確實有所不同。Ok,接下來,跟隨三思一起,進入Mysql的許可權世界吧~~~~
一、工作原理
所有許可權認證的根本目地,都是為了保證使用者只能做允許它做的事情,MySQL也不例外,大家(範指資料庫產品)實現的原理也都差不多,只不過機制上稍有差異,在許可權粒度控制上有所不同。
MySQL資料庫對許可權的驗證有兩個層面:
l 能不能連線:主要由mysql.user,mysql.db,mysql.host三個字典表控制(事實上截止到5.1版本,Host表也基本沒啥用,主要由user,db兩表控制);
l 能不能執行操作:這個複雜一點點,除了上面三個字典表外,另外還有mysql.tables_priv、mysql.columns_priv、mysql.proc_priv三個字典表做更細粒度的控制。
由上可以看出,MySQL資料庫主要是通過這六個字典表,來實現不同粒度的許可權需求,關於這幾個檢視後面會有章節詳細描述,這裡簡要介紹其處理邏輯。
MySQL啟動時將這幾個表中的內容讀到記憶體裡,當有使用者連線或執行操作時,根據記憶體中的資料來檢查使用者是否有許可權執行相應的操作。
注意,如果你讀的足夠認真並且大腦持續在進行思考,這會兒應該會產生這樣的一個疑問:如果使用者連線上資料庫後,又有其它人對其許可權進行了修改操作,是否會即時生效呢?這個問題的答案是:看情況!
l 如果是通過grant、revoke、set password、rename user等命令執行的修改,那麼會馬上生效,這些命令將觸發系統重新載入授權表(grant tables)。
l 如果是手動修改字典表方式(insert,update,delete),那麼許可權並不會馬上生效,除非重啟伺服器,或管理使用者顯式的重新裝載了授權表。
授權表被重新裝載後,對當前已連線的客戶端影響如下:
l 表或列的許可權將在客戶端下次執行操作時生效;
l 資料庫的許可權將在客戶端執行use db_name語句時生效;
l 全域性許可權和密碼修改對已連線的客戶端無效,下次連線時才會生效。
提示:關於許可權級別將在後面章節介紹!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-672261/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql資料庫許可權問題MySql資料庫
- [MySQL光速入門]031 許可權管理MySql
- MySQL資料庫Root許可權MOF方法提權研究MySql資料庫
- 入門MySQL——使用者與許可權MySql
- MySQL入門--使用者與許可權MySql
- 授權|取消授權MYSQL資料庫使用者許可權MySql資料庫
- [資料庫]MYSQL之授予/查驗binlog許可權資料庫MySql
- 許可權系統:一文搞懂功能許可權、資料許可權
- 資料庫的許可權管理資料庫
- Linux 許可權入門指南Linux
- 登入失敗,提示“資料庫目錄許可權寫入不足”,可以操作設定資料庫目錄許可權為 777。資料庫
- 資料庫學習:許可權管理資料庫
- mysql 床架新資料庫並分配使用者許可權MySql資料庫
- 通用許可權系統之資料庫表設計資料庫
- 《MySQL 入門教程》第 05 篇 賬戶和許可權MySql
- mysql許可權MySql
- SpringSecurity許可權管理系統實戰—九、資料許可權的配置SpringGse
- Mysql許可權管理以及sql資料備份MySql
- MongoDB入門系列(四):許可權管理MongoDB
- MySQL許可權管理MySql
- 七、許可權管理和資料庫備份資料庫
- PostgreSQL資料庫使用者許可權管理SQL資料庫
- Oracle 資料庫安全許可權配置標準Oracle資料庫
- Util應用框架快速入門(5) - 許可權入門框架
- 重新學習Mysql資料庫1:無廢話MySQL入門MySql資料庫
- 訪問許可權控制系統|全方位認識 mysql 系統庫訪問許可權MySql
- 後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“資料庫
- MySQL 許可權詳解MySql
- mysql許可權參考MySql
- MySQL許可權問題MySql
- MySQL基礎入門學習教程:mysql資料庫的實現原理MySql資料庫
- JavaWeb許可權設計原理JavaWeb
- PbootCMS後臺登入提示:“登入失敗:資料庫目錄寫入許可權不足!”boot資料庫
- PbootCMS後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“boot資料庫
- android 許可權庫EasyPermissionsAndroid
- 詳解GuassDB資料庫許可權命令:GRANT和REVOKE資料庫
- 資料分析的許可權控制
- SQLPlus無法登入資料庫提示密碼不對或許可權不足SQL資料庫密碼
- 一文讀懂mysql許可權系統MySql