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...