設定存取權
在建立使用者帳號後,必須接著指派存取權限。新建立的使用者帳號沒有存取權限。它們能登入MySQL,但不能看到數據,不能執行任何資料庫操作。
為看到賦予使用者帳號的權限,使用SHOW GRANTS FOR ,如下所示:
#輸入:
SHOW GRANTS FOR bforta;
輸入:
GRANT SELECT ON crashcourse.*TO bforta;分析:此 GRANT 允許使用者在 crashcourse.* ( crashcourse 資料庫的所有表格)上使用 SELECT 。透過只授予 SELECT 存取權限,使用者 bforta對 crashcourse 資料庫中的所有資料具有唯讀存取權限。 SHOW GRANTS 反映這個更改:輸入:
SHOW GRANTS FOR bforta;輸出:
REVOKE SELECT ON crashcourse.* FROM bforta;分析:這條 REVOKE 語句取消剛賦予使用者 bforta 的 SELECT 存取權限。被撤銷的存取權限必須存在,否則會出錯。 GRANT 和REVOKE 在幾個層次上控制存取權限:1.整個伺服器,使用GRANT ALL 和REVOKE ALL;2.整個資料庫,使用ON database.*;3.特定的表,使用ON database.table;#4.特定的列;5.特定的預存程序。 下表列出可以授予或撤銷的每個權限。
未來的授權 在使用 GRANT 和 REVOKE 時,使用者帳號必須存在,但對所涉及的物件沒有這個要求。這允許管理員在建立資料庫和表格之前設計和實現安全措施。
這樣做的副作用是,當某個資料庫或表被刪除時(用 DROP 語句),相關的存取權限仍然存在。而且,如果將來重新建立該資料庫或表,這些權限仍然會起作用。簡化多次授權可透過列出各權限並以逗號分隔,將多個GRANT 語句串在一起,如下所示:
GRANT SELECT,INSERT ON crashcourse.* TO bforta;【相關推薦】 2. 3. 4. 5.
以上是MySQL設定存取權限實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!