參考文章:mysql用戶權限詳細匯總
1.什么是權限控制?
就是用戶連接到mysql,進行各種增刪改查操作
2.權限控制分兩個階段:
(1)你有沒有權限連接mysql(這個去名為‘mysql‘數據庫的user表查)
(2)你有沒有權執行操作
對于1:服務器是如何判斷用戶有沒有權連接上來?
依據三個參數:
1.你從哪里來?(host)
2.你是誰?(user)
3.你的密碼是多少?(password)
--修改Host域,使IP連接
update user set host = '172.25.155.23' where XXXX;
--沖刷權限
flush privileges
--修改用戶密碼
update user set password=password('密碼') where xxxx;
(這里的password()是給密碼加密的)
--沖刷權限
flush privileges
--新增用戶
grant [權限1,權限2,權限3] on 數據庫.表 to 用戶名@'ip地址' identified by '密碼';
(常用權限:all,create,update,insert,delete,drop)
(*代表所有)
示例:grant all on *.* to lisi@'172.25.155.%' identified by '123456';
(解釋:給李四用戶所有數據庫的所有表的所有權限
%:通配符)
--針對某個庫做授權
grant all on test1.* to lisi@'47.106.146.17';
--針對某張表的某個字段授權
grant update(字段名) on? databaseName.tableName to lisi@'47.106.146.17';
例子:grant update(name) on test.goods to yy@'47.106.146.17' identified by '123456';
--收回權限
revoke all on *.* from lisi@'172.25.155.%';
(這個可以舉一反三,有什么權限,才能收回什么權限。)