用户与权限
select host,user from mysql.`user`;
5.2.用户管理
5.2.1 创建用户
create user 账户名;
该语句创建的新用户,在默认条件下是没有任何权限的
账户名="用户名"@"主机地址"
(1) 创建简单的用户
create user 'test1';
(2)创建含有密码的用户
create user 'tese2'@'localhost' identified by '123456';
(3)同时创建多个用户
create user 'test3'@'localhost' identified by '123456', 'test4'@'localhost' identified by '123456';
(4)设置用户可操作资源范围
create user 'test5'@'localhost' identified by '123456' with max_updates_per_hour 10;
(5)设置有密码期限的用户
password expire interval
(6)设置用户是否锁定
account lock, account unlock; //被锁定的用户不能在登录客户端mysql服务器
5.2.2设置密码
alter user 账户名 identified by '明文密码';
例:alter user 'tese2'@'localhost' identified by '654321';
set password [for 账户名]='明文密码';
例:set password for 'tese2'@'localhost'='123456';
set password [for 账户名]=password('明文密码');
例:set password for 'tese2'@'localhost'=password('123456');
(1)为指定用户设置密码
alter user 账户名 identified by '';
(2)为登录用户设置密码
alter user user() identified by '';
select current_user();
5.2.3 修改用户
1.为用户重命名
rename user 旧用户名1 to 新用户名[,旧用户名2 to 新用户名2..]
5.2.4 删除用户
drop user 账户名; #在删除用户之前,必须先回收用户的权限
drop user 'test1';
5.3 权限管理
5.3.1 授予权限
根据权限的操作内容可将权限大致分为数据权限,结构权限 以及管理权限(通常只有管理员有管理权限)
grant 权限类型 [字段列表][,权限类型[字段列表]]....... on 权限级别 to 账户名[with grant option] ;
权限级别用于定义全局权限,数据库权限和表权限
添加 grant option 表示当前的账户可以为其他账户进行授权
show grants for 'root'@'localhost'; //查看'root'@'localhost这个用户的权限
5.3.2 回收权限
revoke 权限类型 ..... on 权限级别....... from 账户名;
回收 所有权限以及可为其他用户授权的权限
revoke all priviliges,grant option from 账户名
5.3.3 刷新权限
flush priviliges;