標籤:mysql使用者建立及授權
Mysql的使用者資訊都在資料庫mysql下的user表中
我們查看下mysql.user表下有幾個使用者
SELECT HOST,user,PASSWORD from user;
發現系統有1個預設使用者
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/5B/69/wKioL1UI5yPBhgU0AAAwaxomONI764.jpg" title="預設root使用者" alt="wKioL1UI5yPBhgU0AAAwaxomONI764.jpg" />
建立一個使用者
CREATE user test IDENTIFIED BY "123"; //建立一個test使用者 密碼是 123
新使用者建立後是外網任何機器都有許可權登入,但是沒有許可權操作的
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5B/6F/wKiom1UI5yyz08jYAABTORb2PH4305.jpg" title="2222222222222.png" alt="wKiom1UI5yyz08jYAABTORb2PH4305.jpg" />
現在要做的就是給test使用者授權,mysql授權許可權可以分為幾個層級,
1;全域層級 //這個許可權就比較大了可以操作所有的資料庫 它的樣式規範是*.*
2;資料庫層級 // DBNAME.* 一般用這個比較好
3;表層級
4;列層級
5;子程式層級
用到的命令是
GRANT ALL PRIVILEGES ON 層級 to 使用者名稱@主機 IDENTIFIED BY 密碼;
例如
grant all privileges on *.* to [email protected] IDENTIFIED BY ‘123‘; //表示我給test使用者在主機172.18.18.212上登陸資料庫執行全域層級 也就是說有全部許可權
撤銷一個使用者的許可權命令
revoke all on *.* from [email protected];
備忘:雖然我執行這個命令之後但是select host,user from user;還是有相關資訊,但是test使用者還是有登陸許可權的,就是不能操作了。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5B/6F/wKiom1UI6kCjygVuAAC_rMmliDc391.jpg" title="33333333333333333333333.png" alt="wKiom1UI6kCjygVuAAC_rMmliDc391.jpg" />
這條命令使用之後只能撤銷許可權並且不能刪除使用者刪除使用者命令
mysql>
delete
from
user
where
user
=
‘sss‘
and
host=
‘localhost‘
;
mysql>flush
privileges
;
Query OK, 1 row affected (0.02 sec)
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5B/69/wKioL1UI7Auw3S_0AABcZIbeIh8198.jpg" title="444444444444444444.png" alt="wKioL1UI7Auw3S_0AABcZIbeIh8198.jpg" />
還附上一下其他刪除使用者的命令
刪除一個已有的使用者
DROP USER test; //我這裡刪除已個使用者
重新命名使用者
RENAME USER test to test123; //將test使用者重新命名為test123
修改知道使用者的密碼
SET PASSWORD FOR test123=PASSWORD(‘123456‘); //將test123的密碼改為123456
記得要重新整理表哦
mysql> FLUSH PRIVILEGES;
本文出自 “常想一二” 部落格,請務必保留此出處http://972010.blog.51cto.com/962010/1621724
mysql的使用者管理和授權