明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

MySQL設(shè)置訪問權(quán)限案例詳細說明

[摘要]設(shè)置訪問權(quán)限在創(chuàng)建用戶賬號后,必須接著分配訪問權(quán)限。新創(chuàng)建的用戶賬號沒有訪問權(quán)限。它們能登錄MySQL,但不能看到數(shù)據(jù),不能執(zhí)行任何數(shù)據(jù)庫操作。為看到賦予用戶賬號的權(quán)限,使用 SHOW GRANTS FOR ,如下所示:輸入:SHOW GRANTS FOR bforta;輸入:分析:輸出結(jié)果顯示用...
設(shè)置訪問權(quán)限

在創(chuàng)建用戶賬號后,必須接著分配訪問權(quán)限。新創(chuàng)建的用戶賬號沒有訪問權(quán)限。它們能登錄MySQL,但不能看到數(shù)據(jù),不能執(zhí)行任何數(shù)據(jù)庫操作。

為看到賦予用戶賬號的權(quán)限,使用 SHOW GRANTS FOR ,如下所示:

輸入:

SHOW GRANTS FOR bforta;

輸入:

2.png

分析:輸出結(jié)果顯示用戶 bforta 有一個權(quán)限 USAGE ON *.* 。 USAGE 表示根本沒有權(quán)限(我知道,這不很直觀),所以,此結(jié)果表示在任意數(shù)據(jù)庫和任意表上對任何東西沒有權(quán)限。

用戶定義為 user@host MySQL的權(quán)限用用戶名和主機名結(jié)合定義。如果不指定主機名,則使用默認的主機名 % (授予用戶訪問權(quán)限而不管主機名)。

為設(shè)置權(quán)限,使用 GRANT 語句。 GRANT 要求你至少給出以下信息:

1.要授予的權(quán)限;

2.被授予訪問權(quán)限的數(shù)據(jù)庫或表;

3.用戶名。

以下例子給出 GRANT 的用法:

輸入:

GRANT SELECT ON crashcourse.*TO bforta;

分析:此 GRANT 允許用戶在 crashcourse.* ( crashcourse 數(shù)據(jù)庫的所有表)上使用 SELECT 。通過只授予 SELECT 訪問權(quán)限,用戶 bforta對 crashcourse 數(shù)據(jù)庫中的所有數(shù)據(jù)具有只讀訪問權(quán)限。

SHOW GRANTS 反映這個更改:

輸入:

SHOW GRANTS FOR bforta;

輸出:

3.png

分析:每個 GRANT 添加(或更新)用戶的一個權(quán)限。MySQL讀取所有授權(quán),并根據(jù)它們確定權(quán)限。

GRANT 的反操作為 REVOKE ,用它來撤銷特定的權(quán)限。下面舉一個例子:

輸入:

REVOKE SELECT ON crashcourse.* FROM bforta;

分析:這條 REVOKE 語句取消剛賦予用戶 bforta 的 SELECT 訪問權(quán)限。被撤銷的訪問權(quán)限必須存在,否則會出錯。

GRANT 和 REVOKE 可在幾個層次上控制訪問權(quán)限:

1.整個服務(wù)器,使用 GRANT ALL 和 REVOKE ALL;

2.整個數(shù)據(jù)庫,使用 ON database.*;

3.特定的表,使用 ON database.table;

4.特定的列;

5.特定的存儲過程。

下表列出可以授予或撤銷的每個權(quán)限。

4.png

5.png

使用 GRANT 和 REVOKE ,再結(jié)合表中列出的權(quán)限,你能對用戶可以就你的寶貴數(shù)據(jù)做什么事情和不能做什么事情具有完全的控制。

未來的授權(quán) 在使用 GRANT 和 REVOKE 時,用戶賬號必須存在,但對所涉及的對象沒有這個要求。這允許管理員在創(chuàng)建數(shù)據(jù)庫和表之前設(shè)計和實現(xiàn)安全措施。

這樣做的副作用是,當某個數(shù)據(jù)庫或表被刪除時(用 DROP 語句),相關(guān)的訪問權(quán)限仍然存在。而且,如果將來重新創(chuàng)建該數(shù)據(jù)庫或表,這些權(quán)限仍然起作用。

簡化多次授權(quán) 可通過列出各權(quán)限并用逗號分隔,將多條GRANT 語句串在一起,如下所示:

GRANT SELECT,INSERT ON crashcourse.* TO bforta;

【相關(guān)推薦】

Mysql免費視頻教程

2. MySQL創(chuàng)建用戶賬號和刪除用戶賬號

3. mysql管理用戶、更改口令的命令行實例操作

4. mysql訪問控制的幾個注意要點

5. MySQL使用字符集和校對順序使用教程

以上就是MySQL設(shè)置訪問權(quán)限實例詳解的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學習教程快速掌握從入門到精通的SQL知識。