MySQL修改root用户密码后运行不稳定,数据丢失

问题遇到的现象和发生背景

某日mysql的root用户突然登录不上,报错1045,于是跳过密码验证重新设置了root用户密码,登录后发现数据库已初始化,自建数据库全部丢失,只好重新写入数据。隔天用新密码登录root再次1045,抱着试一试的心态输入了旧密码竟然可以登录,且登录后自建数据都在。自那以后,root用户密码每次启用数据库都随机在新旧密码之间切换,搞得很难办

操作环境、软件版本等信息

操作系统win10,MySQL版本8.0

尝试过的解决方法

在新密码有效期间,查询user表结果如下图,root用户仅有一个,密码解密后毫无疑问是新密码

img

查看Navicat下的root用户信息,发现密码是八位数的旧密码

img

我想要达到的结果

找出数据库不稳定的原因,在保留自建数据的前提下,修复root用户的问题

将密码置空:UPDATE mysql.user SET authentication_string=” WHERE user=’root’ and host=’localhost’;
操作完成后退出重新登录(无需密码);
MySQL8正确修改密码语法:
进入数据库:use mysql;
修改密码:ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
刷新权限: FLUSH PRIVILEGES;
【望采纳】

我的开发机器版本是mysql5.7,目前没有出现过这种情况。
建议如下:
1、在mysql的data目录下,找到运行日志,看下具体日志

img


2、其中记录了错误日志

img


通过日志看能否找到问题。