mysql創建新用戶並分配權限

在mysql中用戶權限是一個很重要的參數,因爲臺mysql服務器中會有大量的用戶,每個用戶的權限需要不一樣的,下面我來介紹如何給mysql用戶分配權限吧,有需要了解的朋友可參考。


1、Mysql下創建新的用戶並分配權限

語法:mysql> create user 用戶名 identified by '密碼';

給用戶分配權限

語法:mysql> grant 權限 on 數據庫.數據表 to '用戶' @ '主機名';

 

例:

mysql> create user ywliyq identified by '123456';

新創建的用戶,默認情況下是沒有任何權限的。

給ywliyq分配所有的權限

mysql> grant all on *.* to 'ywliyq'@'%';

 

增加新用戶

格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"

如,增加一個用戶ywliyq密碼爲123456,讓其可以在本機上登錄, 並對所有數據庫有查詢、插入、修改、刪除的權限

mysql> grant select,insert,update,delete on *.* to ywliyq@localhost Identified by "123456";

如果希望該用戶能夠在任何機器上登陸mysql,則將localhost改爲"%"。

mysql> grant select,insert,update,delete on *.* to ywliyq@'%' Identified by "123456";

 

2、如何更精準的控制用戶的權限呢?

1.grant 權限 on 數據庫.數據表 to '用戶' @ '主機名';

例:讓ywliyq有查詢 tmp 數據庫 tmp1 表的權限;

grant select on temp.temp1 to 'ywliyq'@'%';   //這個時候ywliyq就具有查詢temp下的temp1的權限了。

例如:

1)給來自10.163.225.87的用戶joe分配可對數據庫vtdc的employee表進行select,insert,update,delete,create,drop等操作的權限,並設定口令爲123。

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by ‘123′;

 

2)給來自10.163.225.87的用戶joe分配可對數據庫vtdc所有表進行所有操作的權限,並設定口令爲123。

mysql>grant all privileges on vtdc.* to [email protected] identified by ‘123′;

 

3)給來自10.163.225.87的用戶joe分配可對所有數據庫的所有表進行所有操作的權限,並設定口令爲123。

mysql>grant all privileges on *.* to [email protected] identified by ‘123′;

 

4)給本機用戶joe分配可對所有數據庫的所有表進行所有操作的權限,並設定口令爲123。

mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;

 

3、如何收回權限,一般指有root用戶才具有該權限

語法:

1.revoke 權限 on  數據庫.數據表 from '用戶'@'主機名';

例:收回 ywliyq的所有權限

revoke all on *.* from 'ywliyq'@'%';

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章