MySql許可權分配

2021-10-07 12:26:03 字數 3623 閱讀 6807

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的提示符是...