在本教學中,我們將向您介紹MySQL存取控制系統和MySQL中各種與許可權相關的表。
MySQL實現了複雜的存取控制和許可權系統,允許您建立用於處理用戶端操作的全面的存取規則,並有效防止未經授權的用戶端存取資料庫系統。
當用戶端連線到伺服器時,MySQL存取控制有兩個階段:
MySQL安裝程式自動建立一個名為mysql
的資料庫。 mysql
資料庫包含五個主要的授權表。 您可通過GRANT和REVOKE等語句間接操作這些表 -
user
表:包含使用者帳戶和全域性許可權列。MySQL使用user
表來接受或拒絕來自主機的連線。 在user
表中授予的許可權對MySQL伺服器上的所有資料庫都有效。
db
表:包含資料庫級許可權。MySQL使用資料庫表來確定使用者可以存取哪個資料庫以及哪個主機。在db
表中的資料庫級授予的特權適用於資料庫,所有物件屬於該資料庫,例如表,觸發器,檢視,儲存過程等。
table_priv
和columns_priv
表:包含表級和列級許可權。 在table_priv
表中授予的許可權適用於表及其列,而在columns_priv
表中授予的許可權僅適用於表的特定列。
MySQL利用這些表來控制MySQL資料庫伺服器的許可權。 在實現自己的靈活存取控制系統之前,了解這些表非常重要。
在本教學中,您已經了解了MySQL存取控制系統的工作原理,並探索了MySQL中的授權表。