MySQL使用者授權(GRANT)

2021-10-01 05:33:10 字數 1378 閱讀 7199

當成功建立使用者賬戶後,還不能執行任何操作,需要為該使用者分配適當的訪問許可權。可以使用 show grant for 語句來查詢使用者的許可權。

注意:新建立的使用者只有登入 mysql 伺服器的許可權,沒有任何其他許可權,不能進行其他操作。

usage on*.* 表示該使用者對任何資料庫和任何表都沒有許可權。

對於新建的 mysql 使用者,必須給它授權,可以用 grant 語句來實現對新建使用者的授權。

語法格式:

grant  《許可權型別》 [ ( 《列名》 ) ] [ , 《許可權型別》 [ ( 《列名》 ) ] ]  on 《物件》 《許可權級別》 to 《使用者》  其中《使用者》的格式:  《使用者名稱》 [ identified ] by [ password ] 《口令》  [ with grant option]  | max_queries_per_hour 《次數》  | max_updates_per_hour 《次數》  | max_connections_per_hour 《次數》  | max_user_connections 《次數》
語法說明如下:

1) 《列名》

可選項。用於指定許可權要授予給表中哪些具體的列。

2) on 子句

用於指定許可權授予的物件和級別,如在 on 關鍵字後面給出要授予許可權的資料庫名或表名等。

3) 《許可權級別》

用於指定許可權的級別。可以授予的許可權有如下幾組:

對應地,在 grant 語句中可用於指定許可權級別的值有以下幾類格式:

grant語句中的《許可權型別》的使用說明如下:

1) 授予資料庫許可權時,《許可權型別》可以指定為以下值:

2) 授予表許可權時,《許可權型別》可以指定為以下值:

3) 授予列許可權時,《許可權型別》的值只能指定為 select、insert 和 update,同時許可權的後面需要加上列名列表 column-list。

4) 最有效率的許可權是使用者許可權。

授予使用者許可權時,《許可權型別》除了可以指定為授予資料庫許可權時的所有值之外,還可以是下面這些值:

【例項】使用 grant 語句建立乙個新的使用者 testuser,密碼為 testpwd。使用者 testuser 對所有的資料有查詢、插入許可權,並授予 grant 許可權。輸入的 sql 語句和執行過程如下所示。

mysql> grant select,insert on *.*      -> to 'testuser'@'localhost'      -> identified by 'testpwd'      -> with grant option;  query ok, 0 rows affected, 1 warning (0.05 sec)
使用 select 語句查詢使用者 testuser 的許可權,如下所示。

grant授權語句

看下面的詳細介紹,主要是介紹如何把新增 刪除 修改 查詢四種許可權授予使用者,如下 一 insert insert許可權允許在其他使用者的表中建立行。語句grant insert on sample a to public 允許所有使用者在sample a中建立新的行。oracle允許在單條gran...

mysql中授權命令grant用法詳解

mysql中可以給你乙個使用者授予如select,insert,update,delete等其中的乙個或者多個許可權,主要使用grant命令,用法格式為 grant 許可權 on 資料庫物件 to 使用者 一 grant 普通資料使用者,查詢 插入 更新 刪除 資料庫中所有表資料的權利。grant ...

Mysql資料庫的grant授權

mysql 賦予使用者許可權命令的簡單格式可概括為 grant 許可權 on 資料庫物件 to 使用者 一 grant 普通資料使用者,查詢 插入 更新 刪除 資料庫中所有表資料的權利。grant select on testdb.to common user grant insert on tes...