我們使用ddl的"create user"語句建立使用者,新的sql使用者不允許訪問屬於其他sql使用者的表,也不能立即建立自己的表,它必須被授權。可以授予的許可權包括以下幾組:
可以使用show grants命令檢視當前使用者的許可權。
show grants;/顯示當前使用者許可權
show grants
for/
顯示指定使用者許可權
show grants
forcurrent_user();/顯示當前使用者許可權
語法:grantpriv_type
[(column_list)][
, priv_type [(column_list)
]] ...
on[object_type
]priv_level
to user_specification [
, user_specification
]...
[require ]
[with ...
]/**
grant proxy on
user_specification
to user_specification [
, user_specification
]...
[with grant option
]/聯級授權,選了此項,該使用者有權將自己的許可權授予自己建立的子使用者
/授權目標物件型別
object_type:
/授權目標
priv_level:
/授權使用者
user_specification:
user
[auth_option
]auth_option:
/ssl設定
ssl_option:
resource_option:
例項:/先要建立乙個使用者,建立了乙個名為jeffrey,登入主機為localhost,密碼為mypass的使用者
create
user
'jeffrey
'@'localhost
' identified by
'mypass';
/授予了使用者jeffrey@localhost對資料庫db1下所有資料表所有操作許可權
grant
allon db1.*to'
jeffrey
'@'localhost';
/授予了使用者'
jeffrey
'@'localhost
'對資料庫db2下invoice資料表的查詢許可權
grant
select
on db2.invoice to
'jeffrey
'@'localhost';
/usage意指無許可權,使用者jeffrey@localhost 在乙個小時內只有90次查詢許可權
grant usage on
*.*to
'jeffrey
'@'localhost
'with max_queries_per_hour 90;
語法:revokepriv_type
[(column_list)][
, priv_type [(column_list)
]] ...
on[object_type
]priv_level
from
user
[, user
]...
revoke
allprivileges, grant
option
from
user
[, user
]...
/授權**
revoke proxy on
user
from
user
[, user
] ...
例項:/撤回了使用者jeffrey@localhost對資料庫db1下所有資料表所有操作許可權revoke
allon db1.*
from
'jeffrey
'@'localhost';
/撤回了使用者'
jeffrey
'@'localhost
'對資料庫db2下invoice資料表的查詢許可權
revoke
select
on db2.invoice from
'jeffrey
'@'localhost
';
MySQL的資料控制語言DCL
我們使用ddl的 create user 語句建立使用者,新的sql使用者不允許訪問屬於其他sql使用者的表,也不能立即建立自己的表,它必須被授權。可以授予的許可權包括以下幾組 1.列許可權 和表中的乙個具體列相關 可以使用show grants命令檢視當前使用者的許可權。show grants 顯...
MySQL的資料控制語言DCL
我們使用ddl的 create user 語句建立使用者,新的sql使用者不允許訪問屬於其他sql使用者的表,也不能立即建立自己的表,它必須被授權。可以授予的許可權包括以下幾組 1.列許可權 和表中的乙個具體列相關 可以使用show grants命令檢視當前使用者的許可權。show grants 顯...
DCL 資料控制語言
什麼是許可權 限制乙個使用者能做什麼,在mysql中,可以設定全域性許可權 指定資料庫許可權 指定表許可權 指定字段許可權 1 建立使用者 使用者只能在指定的ip位址上登入 create user 使用者名稱 ip位址 identified by 密碼 使用者可以在任意ip位址上登入 create ...