mysql給用戶加權限的方法:首先創建用戶,代碼為【create user 用戶名 identified by ‘密碼’】;然后給用戶分配權限,代碼為【grant 權限 on 數據庫.數據表 to ‘用戶’ @ ‘主機名’】。
mysql給用戶加權限的方法:
一、Mysql下創建新的用戶
語法:
create?user?用戶名?identified?by?'密碼';
例
create?user?xiaogang?identified?by?'123456';
新創建的用戶,默認情況下是沒有任何權限的。
二、如何給用戶分配權限
語法:
grant?權限?on?數據庫.數據表?to?'用戶'?@?'主機名';
例:給 xiaogang 分配所有的權限
grant?all?on?*.*?to?'xiaogang'@'%';
這個時候 xiaogang 就擁有了 所有權限了
三、如何更精準的控制用戶的權限呢?
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分配可對所有數據庫的所有表進行所有操作的權限,并設定口令(www.111cn.net)為123。
mysql>grant?all?privileges?on?*.*?to?joe@localhost?identified?by?‘123′;
給本機用戶joe分配可對所有數據庫的所有表進行所有操作的權限,并設定口令為123。
四、如何收回 權限,一般指有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的提示符下運行下列命令,每個命令以分號結束
更多相關免費學習推薦:mysql教程(視頻)