mysql解决坑:由于C盘还原导致mysql启动失败

前因

windows因为一些原因导致重装系统盘(C盘),覆盖安装,其他盘未更改(mysql程序在D盘)。所以导致注册表和C盘一些内容可能有链接问题,在重新覆盖安装mysql时候出现了报错。

问题及处理
  • 在覆盖安装城西的Apply Configuration->Starting the server处报错。
    在这里插入图片描述

  • 查看Log,尝试寻找报错原因。
    Attempting to start service MySQL80...
    Failed to start service MySQL80.
    在这里插入图片描述

  • 此电脑->管理->服务和应用程序->服务->MySQL80查看状态。显示服务未启动
    在这里插入图片描述

  • 考虑是C盘更新可能导致注册表mysql命令无效。配置Path环境变量,步骤网上大把,此处略。

  • 回到服务中重启,操作无果,报错1053。在这里插入图片描述

  • 检查属性。在登录子菜单讲选项改成本地系统账户。想起重装系统前后,系统密码不一样了。

  • 尝试重启,成功。在这里插入图片描述

  • 查阅资料。。。。。。

  • 尝试登录mysql,无果,报错1045。
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)在这里插入图片描述

  • 打开mysql安装目录,有一个my.ini配置文件,在末尾添加一行skip-grant-tables

  • 重启cmd和服务,输入mysql -u root -p,弹出密码直接回车。可以进入mysql在这里插入图片描述

  • 执行use mysql;,切换数据库。

  • 执行select authentication_string from user where user='root';可以数据库的密码信息。在这里插入图片描述

  • 如果内容不为空,使用语句置为空:update user set authentication_string='' where user='root';

  • 问题解决,至此可以用无密码的方式登录了。后面想要修改密码可以参考:

  • 在mysql 5.7.9以后废弃了password字段和password()函数

    • 所以如果版本较低,直接使用语句update user set authentication_string=PASSWORD("123456") where user='root';,修改密码重登即可。
    • 版本较高的使用PASSWORD函数会报错。修改方法可以参考链接:添加链接描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值