修改mysql用户密码思路与步骤解析(windows与mac)

mysql中忘记了root用户的密码?

注意

mysql5.7.9版本之后取消了password字段与password函数,password字段变更为authentication_string字段

windows

思路

(这里使用的是5.7.9版本之前)首先我们要知道mysql中的用户数据是存在mysql数据库中的user表中,
user表中的密码是进行加密过的,所以我们需要用password()函数用来加密我们的密码.(需要了解对应的加密算法,另行百度,我这里就不展开了), root用户的权限是最高的.
然后我们需要分情况讨论
1.如果我们是要使用root用户修改其他用户的密码,那直接登录root用户,然后去mysql数据库下的user表更新数据
update user set password = password(‘你的新密码’) where user = ‘需修改密码的用户’;
2.如果我们是忘记了root的密码,那我们就要使用无验证方式启动mysql服务,去修改root用户的密码
最后修改完密码之后要重新启动mysql服务,更新的密码才会生效

步骤

1 停止mysql服务(需要管理员运行该cmd): cmd – > net stop mysql
在这里插入图片描述
2. 使用无验证方式启动mysql服务: mysqld --skip-grant-tables
在这里插入图片描述
3. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功
在这里插入图片描述
4. use mysql;
5. update user set password = password(‘你的新密码’) where user = ‘root’;
在这里插入图片描述
6. 关闭两个窗口
7. 打开任务管理器,手动结束mysqld.exe 的进程
在这里插入图片描述
8. 启动mysql服务
9. 使用新密码登录
在这里插入图片描述

mac

思路

在这里本人使用的是mysql8.0.21版本,思路与windows类似

步骤

1.需要先停止mysql服务(因为我们要以跳过验证的方式启动mysql服务)
sudo /usr/local/mysql/support-files/mysql.server stop:以root权限使用mysql.server命令停止服务
2.sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables:root权限使用mysqld_safe命令以跳过验证的方式启动mysql服务
1,2步骤截图

3.新起一个终端(因为原本的这个终端被使用于启动mysql服务)
mysql -u root:使用mysql命令直接登录mysql
在这里插入图片描述

4.查看mysql数据库下user表中的数据

SELECT user, authentication_string FROM mysql.user;

我们的密码就是存在authentication_string字段中以某种方式进行加密,所以我们修改密码的目的就是修改这个字段

注:如果你之前使用了其他语句修改密码,然后输入密码的时候一直报错以下这个错

mysql -u root -p
Enter password: ******
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

在这里插入图片描述

如果 你已经这样更改密码,并且导致了无法进入mysql
你要使用该命令清空root的密码

UPDATE user SET authentication_string="" WHERE user='root';

在这里插入图片描述

5.然后重启服务,以正常模式启动服务
在这里插入图片描述
mysql -u root -p:此时密码为空
进入mysql服务器
然后使用

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "这里填你的密码";

在这里插入图片描述

这样即完成了整个密码修改过程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值