MySQL——DCL,关于用户管理,用户权限设置,root用户密码忘记操作(8.0版本)
用户管理
权限体系
几点说明:
①必须通过用户名@主机名才能登录数据库!!
②root用户其实只能在本机访问数据库,为了安全
实例1
建两个用户lucy zs
lucy用户登录
查看lucy用户所拥有的数据库(只有一个)
zs用户登录:使用localhost主机名登陆不了,因为创建的时候规定了zs用户的指定主机名
权限管理(授权与回收)
说明:授哪些权 增删改查 建表啥的权限 撤销授权语句和授权语句差不多
实例2
查看刚才创建的lucy的权限:只有usage登录的权限
给lucy赋mydb所有表格查询的权力
lucy用户再次登录
查看其拥有的数据库
使用某一数据库 查看数据表 查询信息都是可以的 但是无法进行删除信息等 没权利
收获lucy查询mydb的权力
lucy再次登录
查看lucy所拥有的数据库,发现只有一个了
禁止root用户远程登录
实例3
root用户登录
查看user表
将zs用户的host改成 %
再次查看
忘记root密码的解决办法
分为4步!
说明:
1.第二步的意思是我不需密码直接进入
类似root用户进入一样的
语句的几个参数:
指向配置文件位置
console控制台,我们加了这个参数之后控制台就不会关闭了,一些错误输出啥的都会输出到控制台 (5.几的数据库 有的部分是不用写的)
2.第三步意思是修改root用户密码
连接进去,这时候直接用mysql就可以连接,相当于超级管理员身份。接下来还要进行刷新权限,修改用户密码
修改root用户密码总结:
1.关闭mysql服务
2.关闭权限验证重启mysql
3.新开dos窗口进入mysql
4.刷新权限,修改root用户密码
5.按照正常方式启动mysql
理解一个问题:注意修改用户的时候是 用户名@主机名 的形式,这要注意匹配,如果不知道root用户的主机名,可以从user表中进行查看