mysql8忘记root_MySQL8 忘记root密码 重置root密码

叙:好久不用本地的MySQL库了,今天自己学点东西,结果发现密码忘了,自己安装的是MySQL8的数据库,在重置root密码时发现MySQL8的数据库重置密码的操作和之前的版本并不相同,特此记录一下!

1、第一步:置空root原密码

1.1、“越狱”跳过root密码进行登录

思路: 使用管理员权限模式打开CMD面板,输入:mysqld --console --skip-grant-tables --shared-memory(在此之前确定MySQL的所有服务都是关闭的,可以先使用 net stop mysql80 来进行关闭MySQL的服务,“MySQL80”是指自己电脑上MySQL的服务名,不要写错了,我的是MySQL80,各位童鞋请根据自己的进行改变)。

命令:mysqld --console --skip-grant-tables --shared-memory

操作样式如下所示:

fff04f291249169310aabee8f0549547.png

1.2、置空root密码操作

1.2.1、进入MySQL操作空间

思路: 再次以管理员身份打开一个CMD面板,上一个面板不要关闭也不要进行任何操作,在新打开的CMD面板中输入:mysql -uroot -p回车,提示让你输入密码,之前的步骤已经帮我们越过了密码校验功能,我们不用输入任何东西,直接再次回车,即可进入MySQL中,如下图:

命令: mysql -uroot -p

操作样式如下图所示:

3f0c3eb6330c91054b31dd96e97a49d3.png

进入MySQL命令操作模式;

1.2.2、去除root用户的密码

思路: 输入三条命令来去除root用户的密码;

命令:

use mysql; // 进入操作MySQL数据库的模式;

update user set authentication_string=’’ where user=’root’; // 更新置空root用户的校验字符串(可以理解为就是登陆密码)

select user, authentication_string from mysql.user; // 查看root用户的校验字符串是否被置空;

操作样式如下所示:

db689ba297bef3a8ddc699920d6a5793.png

可以清晰地看到root用户的authentication_string字段被置空成功了;

1.2.3、将之前的操作刷新保存

命令: flush privileges

c55f17a3351e73cf3d0553bc5af25e8a.png

2、第二步:配置root用户密码并测试

2.1、配置root用户密码

思路: 关闭之前的两个CMD命令行面板,然后重新在启动一个以管理员身份运行的CMD命令行面板,然后开始给root设置密码(其实现在的root用户的密码已经被清空,如果对于root密码不在意的即使不设置亦可以;),在CMD中输入以下

命令:net start MySQL80 //启动mysql

mysql -uroot -p // 使用root用户进行登陆MySQL,出现的密码输入提示不用管,直接回车即可

use mysql; //

alter user 'root'@'localhost' identified by '你的新密码';// 给root用户的密码插入值

select user, authentication_string from mysql.user; // 查看root用户的校验字符串插入是否操作成功

flush privileges; // 刷新之前的操作

exit // 退出MySQL操作空间

net stop mysql80 //关闭MySQL服务

操作如下图所示(上边的命令也许并未在图中完全显示,按照命令走就OK了):

0e54d55dd6b7df0fa0eca341a9dbe96b.png

03c2da2016d095ec3b4fdf98649c0949.png

2.2、更改结果测试

思路: 关闭已有的CMD命令行面板,重新开启一个管理员身份操作的CMD命令行面板,然后开始登陆,代码如下:

命令:

net start mysql80 // 打开MySQL服务

mysql -uroot -p// 登陆MySQL,然后输入之前设定的root用户的密码,回车即可;

操作样式如下:

9a15af52cb8985f2dd0dfcf15e2667dd.png

登陆成功~

Navicat连接数据库测试,如下图:

63f89a2e1c5bd2a3c8b59947e78510a7.png

测试成功~

pass1:本来想在置空了root用户密码后直接再给root用户进行设置密码的,但是发现因为“越狱”的跳过密码的命令导致无法立即赋值,因此才需要关闭了操作之后再进行设定root密码~

pass2:在mysql8.0以及以上版本中update mysql.user set password='newpassword' where user='root';和update mysql.user set password=PASSWORD('newpassword') where User='root'; 等一些命令已经不允许被使用了;

《END》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值