Mysql之用户权限管理

·用户权限管理

用户权限管理:在不同的项目中给不同的角色(开发者)不同的操作权限,为了保证数据库数据的安全。

通常一个用户的密码不会长期不变,所有需要经常性的变更数据库密码来确认用户本身安全(mysql客户端用户)

一、用户管理

mysql需要客户端进行连接认证才能进行服务器操作:需要用户信息。mysql中所有的用户信息都是保持在mysql数据库下的user表中
Mysql之用户权限管理
默认的,在安装mysql时,如果不选择创建匿名用户,那么意味着所有的用户只有一个:root超级用户
Mysql之用户权限管理
Mysql之用户权限管理
(一)、创建用户
理论上有2种方式
1.直接使用root用户在mysql.user表中插入记录(不推荐)
2.专门创建用户的sql指令
基本语法:create user 用户名 identified by ‘明文密码’;
用户名:用户名@主机地址
主机地址:空或者百分号(“ ”或“%”)
Mysql之用户权限管理
查看mysql.user表中是否存在新增的用户
Mysql之用户权限管理
简化版创建用户(谁都可以访问,无需密码)
Mysql之用户权限管理
当用户创建完成之后,用户是否可以使用?
Mysql之用户权限管理
(二)、删除用户
注意:mysql中是带着host本身的(具有唯一性)
基本语法:
drop user 用户名@host;
Mysql之用户权限管理
(三)、修改用户密码
Mysql之用户权限管理
修改密码
Mysql之用户权限管理
修改后,测试是否修改成功
Mysql之用户权限管理

二、权限管理

在mysql中权限管理有3类
Mysql之用户权限管理
(一)、授予权限:grant
将权限分配给指定用户
Mysql之用户权限管理
Mysql之用户权限管理
用户被分配权限之后不需要退出就可以看到效果
Mysql之用户权限管理
具体权限查看,单表权限查看只能看到数据库中的一张表
Mysql之用户权限管理

(二)、取消权限:revoke
Mysql之用户权限管理
Mysql之用户权限管理
Mysql之用户权限管理
(三)、刷新权限:flush
Mysql之用户权限管理

三、密码丢失解决方案

如果忘记了root用户密码,就需要去找回或者重置root用户密码。
1、停止服务
Mysql之用户权限管理
2、重新启动服务:mysql.exe-skip-grant-tables//启动服务器但是跳过权限
Mysql之用户权限管理
3、当前启动的服务器是没有权限概念的,非常危险,任何用户都可以直接登入,且是root权限;新开客户端,使用mysql.exe登入即可。
Mysql之用户权限管理
4、修改root用户的密码:指定用户名@host
Mysql之用户权限管理
5、关闭服务器,重启服务器
Mysql之用户权限管理