MySQL高級(jí) 第2章MySql的用戶和權(quán)限管理
1. Mysql的用戶管理
1.1 相關(guān)命令
命令 |
描述 |
備注 |
create user zhang3 identified by '123123'; |
創(chuàng)建名稱為zhang3的用戶,密碼設(shè)為123123; |
|
select host,user,password,select_priv,insert_priv,drop_priv from mysql.user; |
查看用戶和權(quán)限的相關(guān)信息 |
|
set password =password('123456') |
修改當(dāng)前用戶的密碼 |
|
update mysql.user set password=password('123456') where user='li4'; |
修改其他用戶的密碼 |
所有通過(guò)user表的修改,必須用flush privileges;命令才能生效 |
update mysql.user set user='li4' where user='wang5'; |
修改用戶名 |
所有通過(guò)user表的修改,必須用flush privileges;命令才能生效 |
drop user li4 |
刪除用戶 |
不要通過(guò)delete from ?user u where user='li4' 進(jìn)行刪除,系統(tǒng)會(huì)有殘留信息保留。 |
1.2 示例說(shuō)明
host?:表示連接類型
????????% 表示所有遠(yuǎn)程通過(guò) TCP方式的連接
????????IP 地址 如 (192.168.1.2,127.0.0.1) 通過(guò)制定ip地址進(jìn)行的TCP方式的連接
???????機(jī)器名 ??通過(guò)制定i網(wǎng)絡(luò)中的機(jī)器名進(jìn)行的TCP方式的連接
????????::1 ??IPv6的本地ip地址 ?等同于IPv4的 127.0.0.1
????????localhost 本地方式通過(guò)命令行方式的連接 ,比如mysql -u xxx -p 123xxx 方式的連接。
??user:表示用戶名
???????同一用戶通過(guò)不同方式鏈接的權(quán)限是不一樣的。
??password:密碼
???????所有密碼串通過(guò) password(明文字符串) 生成的密文字符串。加密算法為MYSQLSHA1 ,不可逆 。
????????mysql 5.7 的密碼保存到 authentication_string 字段中不再使用password 字段。
??select_priv , insert_priv等
????????為該用戶所擁有的權(quán)限。
2. Mysql的權(quán)限管理
2.1 授予權(quán)限
命令 |
描述 |
grant 權(quán)限1,權(quán)限2,…權(quán)限n on 數(shù)據(jù)庫(kù)名稱.表名稱 to 用戶名@用戶地址 identified by ‘連接口令’ |
該權(quán)限如果發(fā)現(xiàn)沒(méi)有該用戶,則會(huì)直接新建一個(gè)用戶。 示例: grant select,insert,delete,drop on atguigudb.* to li4@localhost ?; 給li4用戶用本地命令行方式下,授予atguigudb這個(gè)庫(kù)下的所有表的插刪改查的權(quán)限。
|
grant all privileges on *.* to joe@'%' ?identified by '123'; |
授予通過(guò)網(wǎng)絡(luò)方式登錄的的joe用戶 ,對(duì)所有庫(kù)所有表的全部權(quán)限,密碼設(shè)為123. |
2.2 收回權(quán)限
命令 |
描述 |
備注 |
show grants |
查看當(dāng)前用戶權(quán)限 |
|
revoke ?[權(quán)限1,權(quán)限2,…權(quán)限n]?on 庫(kù)名.表名 ?from ?用戶名@用戶地址 ; |
收回權(quán)限命令 |
|
REVOKE ALL PRIVILEGES ON mysql.* FROM joe@localhost; |
收回全庫(kù)全表的所有權(quán)限 |
|
REVOKE select,insert,update,delete ON mysql.* FROM joe@localhost; |
收回mysql庫(kù)下的所有表的插刪改查權(quán)限 |
|
權(quán)限收回后,必須用戶重新登錄后,才能生效。
2.3 查看權(quán)限
命令 |
描述 |
備注 |
show grants; |
查看當(dāng)前用戶權(quán)限 |
|
select ?* from user ; |
|
|
|
|
? |