mysql用户管理
mysql的用户的详细资料存放在mysql库中的user表中.如果想要查看用户信息可以在user表中进行查看
- 可以通过 select * from user; 来查看有多少个用户
- 可以通过 show processlist; 来查看当前有哪些用户
用户管理的一些指令
- 创建用户,并设置初始密码
语法: create user '用户名'@'主机名(ip地址)' identified by '密码';
- 删除用户
语法: drop user '用户名' @'主机名';
- 修改密码
语法: - 修改自己密码(root账号)
set password = password ('hello'); - 修改其他账号的密码
set password for '用户名'@'主机名' = password('密码');
赋予用户权限
当我们创建一个新用户的的时候,该用户没有任何权限,这时候需要我们根据实际情况,赋予其各种情况
基本语法:
grant 权限列表中的权限 ON 库.表名 TO '用户名'@'主机名' [identified by '密码]
mysql中的权限列表如下:
注意:
- 如果希望一次性给多个权限,用,间隔
- 如果希望一次性给所有的权限,使用all
- 库.表名:把权限给哪个库的哪个表
- 如果希望把某个库的所有表赋予权限,则可采用 库名.* 的模式;
- 如果希望把所有的库 所有表都赋予全系,则可采用 . 的模式
- identified by '密码' ,注意这条是可选项
- 如果用户已经存在,相当于在赋予权限的时候同时修改了该用户的登录密码
- 如果用户不存在,则相当于创建用户,赋权限,制定密码;
回收用户权限
- 基本指令
revoke 权限列表 on 库.表名 from '用户名'@'主机名';
刷新权限
语法: FLUSH PRIVILEGES:查看某个用户拥有什么权限
语法: show grants for '用户名@主机名';
一些细节问题
在创建用户的时候,如果不指定host,则为%,%表示所有的IP都有连接权限