mysql 許可權控制

2021-06-29 15:09:32 字數 1313 閱讀 4889

mysql許可權檢查原理:

使用者------>伺服器,分為兩個階段:

1.使用者有沒有許可權連線上來

2.有沒有許可權執行此操作(增刪查改)

對於1:伺服器如何判斷使用者有沒有許可權連線

根據host,user,password這三個引數判斷的,使用者的這三個資訊儲存在mysql.user表中

修改host域,使ip可以連線,update user set host='192.168.1.101' where user='root';,然後重刷許可權:flush privilcges;,然後再用ip 連線:

mysql -h192.168.1.102 -urppt -p;

把使用者名為空的使用者都刪掉,安全著想,比如localhost本地訪問

把使用者的密碼改掉update,在沖刷許可權

update user set password=password('11111)  where ***xx;

如何新增乙個使用者並為他指定部分的許可權------全域性授權也就是可以操作所有資料庫的許可權

新增乙個使用者      grant [許可權1,許可權2,許可權3,。。。。]    on *.* to user@'host'  identified by 'password';-----給user使用者分配所有資料庫中的所有表的某些許可權

常用許可權有  all,create,drop,insert,delete,update,select

grant all on  *.* to lisi@'192.168.1.%'  identifien by '1111';

--收回許可權:revoke all on *.* from lisi@'192.168.1.%' ;,再沖刷一下

針對某個庫做授權,還以對該使用者做某個資料庫的授權----乙個資料庫

grant all on ecshop.* to lisi@'192.168.1.%';

檢視db下的user使用者的許可權---select * from db\g

收回使用者在某個庫的許可權--------revoke all on ecshop.* from lisi@'192.168.1.%';

針對表做授權

grant insert,update,select on gy3.goods to lisi@'192.168.1.%';測試結果:使用者可以增改查,但是不能刪資料

檢視表級別授權-----select * from tables_priv \g;

總結mysql許可權控制流程:

user (判斷是否有全域性操作許可權) 否---->db(判斷使用者有沒有某個庫的操作權) 否------>tables_priv(檢視有沒有表的操作許可權)

mysql 許可權控制

1 mysql的許可權是,從某處來的使用者對某物件的許可權。2 mysql的許可權採用白名單策略,指定使用者能做什麼,沒有指定的都不能做。3 許可權校驗分成兩個步驟 a 能不能連線,檢查從 來,使用者名稱和密碼,常見錯誤 error 1045 28000 access denied for user...

mysql 許可權管理無效 mysql 許可權控制筆記

階段1 伺服器檢查是否允許你連線。階段2 假定你能連線,伺服器檢查你發出的每個請求。看你是否有足夠的許可權實施它。例如,如果你從資料庫表中選擇 select 行或從資料庫刪除表,伺服器確定你對錶有select許可權或對資料庫有drop許可權。1.許可權檢視 mysql show grants for...

mysql 使用者許可權控制

mysql使用表user,來儲存所有使用者的操作許可權,該錶在mysql資料庫中。新增和修改使用者的許可權,可以通過grant命令來完成,例如 grant privilege all privileges on table to root ipaddr identified by passwd wi...