1. 程式人生 > 其它 >dnat和snat的簡單應用

dnat和snat的簡單應用

1、你有沒有連結許可權

2、你有沒有執行操作的許可權(select/update等)

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

依據三個引數:

你從哪來? host

你是誰? user

你的密碼是多少? password

使用者的這3個資訊,儲存在mysql.user表中

use mysql

desc user;

select host,user,password from user; //可以看到root只能通過localhost來連結

cmd:

ipconfig

mysql -h192.168.2.101 -uroot -p //連結報錯

mysql -h127.0.0.1 -uroot -p

mysql -hlocalhost -uroot -p //可以連結

修改host域,使Ip可以連結

update user set host = '192.168.2.101' where user = 'root';

刪除無關使用者

delete from user where user='';

flush privileges; //一定要衝刷許可權

mysql -h192.168.2.101 -uroot -p //可以連結

mysql -hlocahost -uroot -p //不能連結

區域網訪問使用%萬用字元 192.168.1.%

如何修改使用者的密碼

update user set password=password('111111') where user='root';

flush privileges;

user表判斷你能不能進來

db表判斷使用者有沒有某個庫的操作權

tables_priv判斷使用者有沒有某張表的操作權

新增一個使用者 在user表中全域性授權

grant [許可權1,許可權2,許可權3,...] on *.* to user@'host' identified by '密碼' //*.*代表所有庫所有表

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

grant all on *.* to lisi@'192.168.2.%' identified by '';

收回許可權

revoke all on *.* from list@'192.168.1.%';

flush privileges;

賦權管理某一個庫 //此時user表中許可權全是N 但mysql.db表中lisi 對於ecshop表有操作許可權

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

收回許可權 //db表中無許可權資料

revoke all on ecshop.* from list@'192.168.1.%';

賦與表級別許可權 //此時user表中lisi無許可權 db表中無lisi資料 tables_priv中有lisi針對表的許可權

grant insert,update,select on test_database.test_table to lisi@'192.168.1.%'; //使用者可以增改查,但不能刪資料

提示:如果在開發中,某張表的資料,是原始資料,不能被刪除,除了在php的業務邏輯上來控制,還可以從mysql使用者許可權管理來控制

mysql的許可權控制,甚至可以精確到列

常用的授權許可權在手冊中 grant部分