1. 程式人生 > >mysql-用戶、權限管理

mysql-用戶、權限管理

rep col upd 相關 host ant down exe reat

1、創建用戶:create user ‘用戶名‘@‘主機‘ [identified by ‘密碼‘];

也可以用insert sql往mysql.user中插入數據。

用create user 創建的用戶權限較小,不能創建數據庫、表等。

2、修改用戶名:rename user ‘用戶名1‘@‘主機‘ to ‘用戶名2‘@‘主機‘;

也可以用update sql語句修改mysql.user表中的數據。

3、刪除用戶:drop user ‘用戶名‘@‘主機‘;

也可以用delete sql語句刪除mysql.user表中的數據。

4、設置密碼:set password for ‘用戶名‘@‘主機‘=password(‘密碼‘);

5、授權(創建用戶並授權,此方式創建的用戶擁有創建數據庫、表等):

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

例1、將mydb庫的students表的所有權限授權給 ‘testuser‘@‘192.168.%.%‘,並設置秘密為testpass:

grant all on mydb.students to ‘testuser‘@‘192.168.%.%‘ identified by ‘testpass‘;

例2、將"所有庫的所有表/函數/存儲過程"的所有權限授權給‘testuser‘@‘192.168.%.%‘並設置秘密為testpass:

grant all on . to ‘testuser‘@‘192.168.%.%‘ identified by ‘testpass‘;

例3、將mydb庫的所有表的select權限授權給‘readonly‘@‘%‘,即‘readonly‘@‘%‘只有查詢權限。

grant select on mydb.* TO ‘readonly‘@‘%‘

6、權限類型:

(1)、管理類權限:create user,file,show databases,super,

reload,shutdown,processlist,replication slave,

replication client,lock tables;

(2)、庫級別和表級別權限:alter,create,create view,drop,execute,

index,grant,show view

(3)、數據操作(表級別):select,insert,update,delete

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

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

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

8、收回權限:revoke 權限類型 on 庫.表/函數/存儲過程 from ‘用戶名‘@‘主機‘;

如:將收回用戶‘testuser‘@‘localhost‘所有權限。

revoke all on . from ‘testuser‘@‘localhost‘;

9、mysql庫中與用戶授權相關的表:

db:庫級別的權限。

tables_priv:表級別的權限。

colomns_priv:列級別的權限。

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

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

10、flush:

(1)、flush privileges:刷新授權,一般用於對某賬戶授權後,使其立即生效。

(2)、flush hosts:清空host,一般用於因賬戶信息記不太清楚當連接數據庫幾次一直失敗,那麽當 獲得正確賬戶信息連接被拒絕時,就需要執行flush host.

mysql-用戶、權限管理