前因
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函数会报错。修改方法可以参考链接:添加链接描述
- 所以如果版本较低,直接使用语句
本文记录了一次在Windows系统重装后遇到的MySQL服务启动失败及密码丢失的问题。通过检查服务、配置环境变量、修改服务登录属性、更新配置文件并重置密码,最终成功解决了问题。对于高版本MySQL,由于password字段和函数的废弃,使用特定方法实现了密码的重置。
396

被折叠的 条评论
为什么被折叠?



