当前位置 博文首页 > JustinQin:MySQL--忘记密码,重置密码重启服务密码失效(Window

    JustinQin:MySQL--忘记密码,重置密码重启服务密码失效(Window

    作者:[db:作者] 时间:2021-09-12 09:02

    一、问题说明

    最近在Windows下操作mysql数据库,我装的是mysql5.7版本的,但是忘记了安装时设置的密码,
    通过mysqld -nt --skip-grant-tables 跳过安全检查登录重置了密码

    修改后使用新密码,能正常登陆成功,但老是发生一件奇怪的事,就是只要一重启mysql服务(net start mysql 或? 在mysql服务中右键启动),再访问数据库连接mysql时,就报错提示:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    说明重启mysql服务后,重置的密码根本不生效。不太科学啊,看了库表密码都是改了的。

    类似场景CSDN论坛上也有老兄遇到类似的问题,后面他说解决了,但是这个B没有贴出解决办法!!!不过也有可能是他重装数据库解决的。

    CSDN论坛上自己也发了帖子求助,但是竟没有一个人能回答,估计都没遇到过类似的情况???

    自己找了百度搜了挺多文章,都是一些重装数据库、initial初始化数据库。但是重装、初始化这些都是删除原来的库表和数据了,需要备份再重建。我就想找回密码,了解清楚为什么跳过安全检查重置密码后,mysql重启服务密码就失效了。

    Chrome上搜索了一些文章,一位老哥的直接就说Windows mysql5.7密码直接放弃吧!!!


    就在后面准备想放弃,打算备份库表,重装mysql的时候,找到了原因,问题竟然出在,MySQL服务的"可执行文件的路径"(按快捷键win ->搜索服务?-> 找到对应的mysql服务 ->右键 ->常规?-> 可执行文件的路径)中配置的my.ini文件的指向路径不正确或者my.ini文件中配置的datadir数据目录不对~

    如上图,此时可执行文件的路径中配置的my.ini所在位置是C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

    检查了下可执行文件的路径指向路径的my.ini文件,果然,发现my.ini配置文件指定的数据目录datadir不是我实际的mysql数据目录datadir,我的实际数据目录datadir=C:\Program Files\MySQL\MySQL Server 5.7\data

    ?

    二、解决办法

    检查自己的MySQL服务"可执行文件的路径"(按快捷键win ->搜索服务?-> 找到对应的mysql服务 ->右键 ->常规?-> 可执行文件的路径)中配置的my.ini文件的指向路径是否正确或者my.ini文件中配置的数据目录datadir是否正确~

    参考?数据库--修改Windows MySQL服务可执行文件的路径

    cs