标签: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.
标签:ati sql col cli replica set 权限 sts stp
原文地址:http://blog.51cto.com/8757576/2171281