1猛计、你有沒(méi)有鏈接權(quán)限
2唠摹、你有沒(méi)有執(zhí)行操作的權(quán)限(select/update等)
對(duì)于1:服務(wù)器如何判斷用戶有沒(méi)有權(quán)限鏈接上來(lái)?
依據(jù)三個(gè)參數(shù):
你從哪來(lái)? host
你是誰(shuí)奉瘤? user
你的密碼是多少勾拉? password
用戶的這3個(gè)信息,存儲(chǔ)在mysql.user表中
use mysql
desc user;
select host,user,password from user; //可以看到root只能通過(guò)localhost來(lái)鏈接
cmd:
ipconfig
mysql -h192.168.2.101 -uroot -p //鏈接報(bào)錯(cuò)
mysql -h127.0.0.1 -uroot -p
mysql -hlocalhost -uroot -p //可以鏈接
修改host域盗温,使Ip可以鏈接
update user set host = '192.168.2.101' where user = 'root';
刪除無(wú)關(guān)用戶
delete from user where user='';
flush privileges; //一定要沖刷權(quán)限
mysql -h192.168.2.101 -uroot -p //可以鏈接
mysql -hlocahost -uroot -p //不能鏈接
局域網(wǎng)訪問(wèn)使用%通配符 192.168.1.%
如何修改用戶的密碼
update user set password=password('111111') where user='root';
flush privileges;
user表判斷你能不能進(jìn)來(lái)
db表判斷用戶有沒(méi)有某個(gè)庫(kù)的操作權(quán)
tables_priv判斷用戶有沒(méi)有某張表的操作權(quán)
新增一個(gè)用戶 在user表中全局授權(quán)
grant [權(quán)限1,權(quán)限2,權(quán)限3,...] on *.* to user@'host' identified by '密碼'? //*.*代表所有庫(kù)所有表
常用權(quán)限有:all,create,drop,insert,delete,update,select
grant all on *.* to lisi@'192.168.2.%' identified by '';
收回權(quán)限
revoke all on *.* from list@'192.168.1.%';
flush privileges;
賦權(quán)管理某一個(gè)庫(kù) //此時(shí)user表中權(quán)限全是N 但mysql.db表中l(wèi)isi 對(duì)于ecshop表有操作權(quán)限
grant all on ecshop.* to lisi@'192.168.1.%';
收回權(quán)限 //db表中無(wú)權(quán)限數(shù)據(jù)
revoke all on ecshop.* from list@'192.168.1.%';
賦與表級(jí)別權(quán)限 //此時(shí)user表中l(wèi)isi無(wú)權(quán)限 db表中無(wú)lisi數(shù)據(jù) tables_priv中有l(wèi)isi針對(duì)表的權(quán)限
grant insert,update,select on test_database.test_table to lisi@'192.168.1.%'; //用戶可以增改查藕赞,但不能刪數(shù)據(jù)
提示:如果在開(kāi)發(fā)中,某張表的數(shù)據(jù)卖局,是原始數(shù)據(jù)斧蜕,不能被刪除,除了在php的業(yè)務(wù)邏輯上來(lái)控制砚偶,還可以從mysql用戶權(quán)限管理來(lái)控制
mysql的權(quán)限控制批销,甚至可以精確到列
常用的授權(quán)權(quán)限在手冊(cè)中 grant部分