mysql.user,mysql.db,mysql.table_priv,mysql_column_priv
grant select on mall.* to 『dev』@『192.168.159.%』 identified by 『123』 with grant option;
建立乙個dev使用者,密碼為123,只能在執行在網段為192.168.159.*的網段做查詢操作。
在執行show grants for 『dev』@『192.168.159.%』
結果:
grant usage on *.* to 'dev'@'192.168.159.%'
grant select on `mall`
.* to 'dev'@'192.168.159.%' with grant option
新建乙個表 account
drop
table
ifexists
`account`
;create
table
`account`
(`id`
int(11)
notnull
,`name`
varchar(50
)default
null
,`balance`
int(
255)
default
null
,primary
key(
`id`),
key`idx_balance`
(`balance`))
engine
=innodb
default
charset
=utf8;
insert
into
`account`
values
('1'
,'lilei'
,'900');
insert
into
`account`
values
('2'
,'hanmei'
,'100');
insert
into
`account`
values
('3'
,'lucy'
,'250');
insert
into
`account`
values
('5'
,'tom'
,'0'
);
需求建立乙個使用者dev,dev只能看到account表中的id和name欄位
grant
select
(id,name)
on mall.account to
'dev'
@'192.168.244.%'
;
撤銷剛才的全表查詢許可權
revoke select on mall.* from 'dev'@'192.168.159.%'
檢視許可權
show grants for
'dev'@'192.168.159.%'
查詢結果
grant usage on *.* to 'dev'@'192.168.159.%'
grant usage on `mall`
.* to 'dev'@'192.168.159.%' with grant option
grant select (name, id) on `mall`
.`account`
to 'dev'@'192.168.159.%'
這是dev使用者查詢mall表的所有欄位會報錯
但是可以使用select id,name from account
查詢到結果:
1 lilei
2 hanmei
3 lucy
5 tom
執行語句show variables like "%proxy%"
,檢視角色功能是否開啟。
得先把 check_proxy_users,mysql_native_password_proxy_users 這兩個變數設定成 true 才行
set
global check_proxy_users =1;
setglobal mysql_native_password_proxy_users =
1;
再執行show variables like "%proxy%"
結果
建立乙個角色
create
user 'dev_role
建立兩個賬號
create
user
'deer' ;
create
user
'enjoy';
把兩個賬戶加到dev_role組裡,但是做這個事情之前務必先給遠端伺服器乙個許可權,所以需要在伺服器上執行這條語句grant proxy on ''@'' to 'root'@'%' with grant option;
,否則會報「[err] 1698 - access denied for user 『root』@'192.168.159.118」的錯誤。
`
grant proxy on 'dev_role' to 'deer'
;grant proxy on 'dev_role' to 'enjoy'
;
查詢deer賬號的許可權,執行語句show grants for 'deer'
,結果:
grant usage on *.* to 'deer'@'%'
grant proxy on 'dev_role'@'%' to 'deer'@'%'
根據業務需求給角色新增許可權
grant
select
(id,name)
on mall.account to
'dev_role'
測試deer賬戶登入的查詢許可權,執行select id,name from account
,大功告成。
MySQL許可權分配
第一招 mysql服務的啟動和停止 net stop mysql net start mysql 第二招 登陸mysql 語法如下 mysql u使用者名稱 p使用者密碼 鍵入命令mysql uroot p,回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是...
MySQL許可權分配
1 給乙個資料庫分配唯讀賬號 grant select on bstic to readonly identified by 123456 orgrant select on bstic.to readonly identified by 123456 2 多個資料庫分配唯讀許可權 只能單獨乙個乙個...
mysql 建庫許可權 MySQL許可權分配
第一招 mysql服務的啟動和停止 net stop mysql net start mysql 第二招 登陸mysql 語法如下 mysql u使用者名稱 p使用者密碼 鍵入命令mysql uroot p,回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是...