MySQL訪問控制系統入門

在本教學中,我們將向您介紹MySQL訪問控制系統和MySQL中各種與許可權相關的表。

MySQL實現了複雜的訪問控制和許可權系統,允許您創建用於處理客戶端操作的全面的訪問規則,並有效防止未經授權的客戶端訪問資料庫系統。

當客戶端連接到伺服器時,MySQL訪問控制有兩個階段:

  • 連接驗證:連接到MySQL資料庫伺服器的客戶端需要有一個有效的用戶名和密碼。此外,客戶端連接的主機必須與MySQL授權表中的主機相匹配。
  • 請求驗證:當連接成功建立後,對於客戶端發出的每個語句,MySQL會檢查客戶端是否具有足夠的許可權來執行該特定語句。 MySQL能夠檢查資料庫,表和字段級別的許可權。

MySQL安裝程式自動創建一個名為mysql的資料庫。 mysql資料庫包含五個主要的授權表。 您可通過GRANTREVOKE等語句間接操作這些表 -

  • user表:包含用戶帳戶和全局許可權列。MySQL使用user表來接受或拒絕來自主機的連接。 在user表中授予的許可權對MySQL伺服器上的所有資料庫都有效。

  • db表:包含資料庫級許可權。MySQL使用資料庫表來確定用戶可以訪問哪個資料庫以及哪個主機。在db表中的資料庫級授予的特權適用於資料庫,所有對象屬於該資料庫,例如表,觸發器視圖存儲過程等。

  • table_privcolumns_priv表:包含表級和列級許可權。 在table_priv表中授予的許可權適用於表及其列,而在columns_priv表中授予的許可權僅適用於表的特定列。

  • procs_priv表:包含存儲函數存儲過程的許可權。

MySQL利用這些表來控制MySQL資料庫伺服器的許可權。 在實現自己的靈活訪問控制系統之前,瞭解這些表非常重要。

在本教學中,您已經瞭解了MySQL訪問控制系統的工作原理,並探索了MySQL中的授權表。


上一篇: MySQL管理 下一篇: MySQL全文搜索