码迷,mamicode.com
首页 > 数据库 > 详细

mysql-用户、权限管理

时间:2018-09-06 18:10:20      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:ati   sql   col   cli   replica   set   权限   sts   stp   

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-用户、权限管理

标签:ati   sql   col   cli   replica   set   权限   sts   stp   

原文地址:http://blog.51cto.com/8757576/2171281

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!