mysql-權限管理

1、grant 受權(建立用戶並受權,此方式建立的用戶擁有建立數據庫、表等):mysql

grant 權限類型 on 庫.表/函數/存儲過程 to '用戶名'@'主機' [ identified by 'testpass'];sql

其中,權限類型all表示全部權限,all包含:create,drop,insert,update,delete,select等等。數據庫

例一、將mydb庫的students表的全部權限受權給 'testuser'@'192.168.%.%',並設置祕密爲testpass:ide

grant all on mydb.students to 'testuser'@'192.168.%.%' identified by 'testpass';函數

例二、將"全部庫的全部表/函數/存儲過程"的全部權限受權給'testuser'@'192.168.%.%'並設置祕密爲testpass:代理

grant all on *.* to 'testuser'@'192.168.%.%' identified by 'testpass';code

例三、將mydb庫的全部表的select權限受權給'readonly'@'%',即'readonly'@'%'只有查詢權限。ssl

grant select on mydb.* TO 'readonly'@'%'it

2、權限類型:io

一、管理類權限:create user,file,show databases,super,

reload,shutdown,processlist,replication slave,

replication client,lock tables;

二、庫級別和表級別權限:alter,create,create view,drop,execute,

index,grant,show view

三、數據操做(表級別):select,insert,update,delete

四、字段級別:select(col1,...),insert(col1,...),update(col1,...)

3、查看某個用戶的權限:

show grants for '用戶名'@'主機';

4、revoke 收回權限:

revoke 權限類型 on 庫.表/函數/存儲過程 from '用戶名'@'主機';

如:將收回用戶'testuser'@'localhost'全部權限。

revoke all on *.* from 'testuser'@'localhost';

5、mysql庫中與用戶受權相關的表:

db:庫級別的權限。

tables_priv:表級別的權限。

colomns_priv:列級別的權限。

procs_priv:存儲過程和存儲函數相關的權限。

proxies_priv:代理用戶相關的權限。

6、flush:

一、flush privileges:刷新受權,通常用於對某帳戶受權後,使其當即生效。

二、flush hosts:清空host,通常用於因帳戶信息記不太清楚當鏈接數據庫幾回一直失敗,那麼當 得到正確帳戶信息鏈接被拒絕時,就須要執行flush host.

相關文章
相關標籤/搜索