在很多CSDN文章中,基本上都说在配置文件中添加 skip-grant-tables ,然后mysql -uroot 就行。但我的情况比较特殊,在我的配置文件中,有一个 validate_password = off的配置,用于强制执行密码策略和要求。
所以当你的配置文件中有这个 validate_password = off配置时,你再加入skip-grant-tables,就会无法启动,会提示报错,控制台报错信息我忘记复制图了,但是日志的报错如下:

解决办法:先将validate_password = off给注释掉,然后加入skip-grant-tables ,再执行重启mysql。
此时会发现启动成功了,然后再使用mysql -uroot 进入,然后通过指令修改密码。注意,这里修改完密码后,你用navicat去连的话是连接不上的。但你再本机使用mysql -uroot -p ,然后输入你刚刚修改的密码可以连接上。原因未知。
那么如何操作呢?你再将配置文件中的skip-grant-tables 删除掉,然后把validate_password = off加上,然后再执行一次修改密码,那么这个时候你就测试修改成功。
文章讲述了在MySQL配置中,当validate_password设置为off时与skip-grant-tables共存会导致启动问题。解决方法是先注释掉validate_password,启用skip-grant-tables进行密码修改,然后调整回原配置以确保navicat连接正常。
145

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



