MySQL学习(11)︱禁止ROOT用户远程登陆与找回密码

禁止ROOT用户远程登陆

在实际工作中,公司的DBA都会设置禁止ROOT用户远程登陆,原因如下:

  • ROOT是MySQL数据库的超级管理员,几乎拥有所有权限,一旦泄露后果非常严重!
  • ROOT是MySQL数据库的默认用户,所有人都知道,如果不禁止远程登陆,可以针对ROOT用户暴力破解密码!

为了确保数据库的安全,要保证你的MySQL数据库ROOT用户的登陆主机/IP为localhost,如下图所示在这里插入图片描述
如果ROOT用户的host并非localhost,可以通过以下几步进行修改:

  1. 连接数据库,使用mysql数据库
USE mysql;
  1. 修改root用户的host字段的值
UPDATE user SET host='localhost' WHERE user='BigG';

此时ROOT用户就只能够从本机登陆,无法远程登陆了。

找回ROOT用户的密码

在MySQL中,如果只是忘记了普通用户的密码,很好解决,只需要以root用户登陆后重置密码即可。但忘记了root用户的密码,通过以下几步即可重置密码:

  1. 关闭MySQL服务
win+r打开运行,输入cmd并回车,输入指令net stop mysql80并回车,此时MySQL服务已停止
  1. 重启MySQL时关闭权限验证
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --skip-grant-tables --shared-memory
//这一步可以关闭重启MySQL服务时的权限验证,双引号里的路径记得改成自己的路径哦
  1. 修改root用户的密码
//上一步的窗口切记不要关闭!!!
//再次开启新的cmd窗口,直接输入命令mysql即可登陆数据库,此时虽然不是root用户的身份,但却拥有root身份的所有权限!
FLUSH PRIVILEGES;//先刷新权限,再修改密码,这两步不要弄反了
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';//此时就可以正常地修改root用户的密码和主机名啦~
  1. 正常启动MySQL服务
//回到第2步的窗口,按下Ctrl+C,然后输入下面的命令
net start mysql80
//此时MySQL服务就正常启动啦~

注:本文是博主MySQL学习的总结,不支持任何商用,转载请注明出处!如果你也对MySQL学习有一定的兴趣和理解,欢迎随时找博主交流~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值