首先 跳过权限表模式启动mysql:mysqld --skip-grant-tables &
从现在开始,你将踏入第一个坑,如果你使用网上到处贴的 错误修改方法:
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password') WHERE User='root';
(注意,5.7之后password改成了authentication_string)那么恭喜你,你修改成功了,但是你会发现当你使用navicat这种GUI工具连接的时候会报如下错误:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
同时你会发现命令行能使用mysql -u root -p 登录了,但是不能use mysql了,连库都用不了了,搞毛啊
下面这个命令将会拯救你:
mysql> SET PASSWORD = PASSWORD('your_new_password');
执行完之后使用命令 mysqladmin -u root -p shutdown 关闭mysqld
再次 mysql.server start 启动mysql就全部ok了~
本文提供了一种在MySQL中重置root用户密码的有效方法,并解决了使用GUI工具连接时报错的问题。通过特定命令行操作,可以顺利绕过权限表模式启动MySQL并完成密码重置。
397

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



