給mysql用戶分配權限

1,Mysql下建立新的用戶php

語法:html

1.create user 用戶名 identified by '密碼';mysql

例:create user xiaogang identified by '123456';sql

新建立的用戶,默認狀況下是沒有任何權限的。數據庫


2. 如何給用戶分配權限ide

語法:.net

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

例:給 xiaogang 分配全部的權限get

grant all on *.* to 'xiaogang'@'%';class

這個時候 xiaogang 就擁有了 全部權限了

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

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


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

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


例如:

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;

給來自10.163.225.87的用戶joe分配可對數據庫vtdc的employee表進行select,insert,update,delete,create,drop等操做的權限,並設定口令爲123。
 
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;

給來自10.163.225.87的用戶joe分配可對數據庫vtdc全部表進行全部操做的權限,並設定口令爲123。
 
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;

給來自10.163.225.87的用戶joe分配可對全部數據庫的全部表進行全部操做的權限,並設定口令爲123。
 
mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;

給本機用戶joe分配可對全部數據庫的全部表進行全部操做的權限,並設定口令爲123。
 

4. 如何收回 權限,通常指有root用戶才具備該權限

語法:

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

例:收回 xiaogang的全部權限

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

好了下面我個把步驟總結一下很具體的一個過程


第一步:mysql服務的啓動和中止

net stop mysql

net start mysql

第二步:直接登錄mysql

語法以下: mysql -u用戶名 -p用戶密碼

鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入123456,而後回車便可進入到mysql中了,mysql的提示符是:

mysql>

注意,若是是鏈接到另外的機器上,則須要加入一個參數-h機器IP

第三步:增長新用戶

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

如,增長一個用戶user1密碼爲password1,讓其能夠在本機上登陸, 並對全部數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入mysql,而後鍵入如下命令:

grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";

若是但願該用戶可以在任何機器上登錄mysql,則將localhost改成"%"。

若是你不想user1有密碼,能夠再打一個命令將密碼去掉。

grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

第四步: 操做數據庫

登陸到mysql中,而後在mysql的提示符下運行下列命令,每一個命令以分號結束

相關文章
相關標籤/搜索