mysql8忘记密码如何重置(禅道的mysqlzt服务和mysql服务冲突)

在学习mybatis时,发现自己忘了mysql密码,于是找了教程修改密码。
重置密码流程如下:

  1. 停止mysql服务。管理员权限运行命令行输入 net stop mysql 或在任务管理器的服务中选中MySQL右键关闭。
    在这里插入图片描述

  2. 切换到mysql的bin路径并跳过密码登录

    d:
    cd D:\mysql-8.0.23-winx64\mysql-8.0.23-winx64\bin
    mysqld -console --skip-grant-tables --shared-memory
    

    在这里插入图片描述
    ps:mysql8中无法使用mysqld --skip-grant-tables
    保持该命令行面板运行,如果输入mysqld -console --skip-grant-tables --shared-memory没有提示信息,再开一个管理员权限的命令行重复该步骤

  3. 重新用管理员权限打开命令行,切换到mysql的bin路径,免密登录

    d:
    cd D:\mysql-8.0.23-winx64\mysql-8.0.23-winx64\bin
    mysql
    

    在这里插入图片描述

    然后输入以下sql语句

    use mysql;// 切换至mysql数据库
    update user set authentication_string='' where user='root'; // 清空密码
    select user, authentication_string from mysql.user; // 查询mysql数据库的user表,不用在意内容,不为空即可
    flush privileges; // 刷新保存操作
    

    在这里插入图片描述

  4. 关闭之前打开的两个命令行界面(必须关闭输入了 mysqld -console --skip-grant-tables --shared-memory的命令行,否则之后仍然会免密登录),重新打开一个命令行开启mysql服务,切换到mysql的bin路径并登录修改密码

    d:
    cd D:\mysql-8.0.23-winx64\mysql-8.0.23-winx64\bin
    net start mysql
    mysql -u root -p
    

    直接回车即可进入mysql
    在这里插入图片描述

    然后输入

    use mysql;// 切换至mysql数据库
    alter user 'root'@'localhost' identified by 'root'; // 重置密码
    select user, authentication_string from mysql.user; // 查询mysql数据库的user表,不为空,和设置的密码
    flush privileges; // 刷新保存操作
    

    在这里插入图片描述

  5. 重新登录检验是否重置了密码。
    试了几次,又试了几次,发现失败了
    在这里插入图片描述

  6. 按照正常流程是能成功的,但是我试了很多次仍然失败。打开任务管理器发现有一个mysqlzt服务,应该是禅道自带的mysql和自己安装的mysql有冲突。关闭mysqlzt重复上述流程即可。
    在这里插入图片描述
    成功!
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值