找到mysql5.7安装的目录,我这里是:C:\Program Files\MySQL\MySQL Server 5.7
先停止mysql服务
在服务里找到MySQL57服务,停掉它。
修改my.ini
用管理员权限启动cmd命令窗口,很重要!
进入bin目录,拷贝my-default.ini 成my.ini,把my.ini里的datadir的值改成你的mysql数据库目录的值,我这里是:datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data
然后在cmd窗口执行命令:
mysqld --skip-grant-tables
回车后窗口就堵塞了,不会继续往下走。
修改新密码
打开第二个cmd窗口执行
mysql -uroot -p
提示输入密码,直接回车(不用输入密码)
选择数据库:use mysql;
更新root的密码:update user set authentication_string=password('新密码') where user='root' and Host='localhost';
刷新权限:flush privileges;
退出:quit
重新登录:mysql -uroot -p 提示输入密码,这时输入密码才能登录。完成!!!
重启MySQL57服务
重启服务后,使用navicat 就能重新使用新的密码连接。
感谢这位老兄: https://www.cnblogs.com/yuwentims/p/9172463.html