設定存取權
在建立使用者帳號後,必須接著指派存取權限。新建立的使用者帳號沒有存取權限。它們能登入MySQL,但不能看到數據,不能執行任何資料庫操作。
為看到賦予使用者帳號的權限,使用SHOW GRANTS FOR ,如下所示:
#輸入:
SHOW GRANTS FOR bforta;
輸入:
##分析:輸出結果顯示使用者bforta 有一個權限USAGE ON *.* 。 USAGE 表示根本沒有權限(我知道,這不是很直觀),所以,此結果表示在任意資料庫和任意表上對任何東西沒有權限。 使用者定義為 user@host MySQL的權限以使用者名稱和主機名稱結合定義。如果不指定主機名,則使用預設的主機名稱 % (授予使用者存取權限而不管主機名稱)。 為設定權限,使用 GRANT 語句。 GRANT 要求你至少給予以下資訊:1.要授予的權限;2.被授予存取權限的資料庫或表格;3.使用者名稱。 以下範例給出 GRANT 的用法:輸入:GRANT SELECT ON crashcourse.*TO bforta;
SHOW GRANTS FOR bforta;
REVOKE SELECT ON crashcourse.* FROM bforta;
未來的授權 在使用 GRANT 和 REVOKE 時,使用者帳號必須存在,但對所涉及的物件沒有這個要求。這允許管理員在建立資料庫和表格之前設計和實現安全措施。
這樣做的副作用是,當某個資料庫或表被刪除時(用 DROP 語句),相關的存取權限仍然存在。而且,如果將來重新建立該資料庫或表,這些權限仍然會起作用。簡化多次授權可透過列出各權限並以逗號分隔,將多個GRANT 語句串在一起,如下所示:
GRANT SELECT,INSERT ON crashcourse.* TO bforta;
以上是MySQL設定存取權限實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!