1

由于标题状态,我试图改变一个被遗忘的MySQL root密码。我跟着奥马尔Bourja here详细说明(运行带有然后使用update mysql.user set authentication_string=password('MyNewPass') where user='root';--skip-grant-tables选项& MySQL服务器)的说明。更改被遗忘的root密码MySQL 5.7.4

但是,虽然操作输出显示更改已经过(1 row(s) affected Rows matched: 1 Changed: 1 Warnings: 0),但我仍然无法使用新密码以超级用户身份登录。

我在MySQL Workbench中工作在Windows Server 2012上应该可能还有指出,根据服务MySQL57服务状态是“停止”,但mysqld正在运行的进程。

这一切都还是很新的给我,请记住这一点。提前致谢!

+0

你试过[官方复位指令(https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html)? – Kateract

+0

是的,我首先尝试了,但它仍然停留在“以过程7792开始......”并且在事件查看器中显示错误“1131您正在使用MySQL作为匿名用户,匿名用户不允许更改密码“。这是什么导致我到另一种方法 –

+0

不知道我做了什么不同,但我经历了所有的步骤,这次它的工作。 (我想我使用'更新mysql.user设置密码= PASSWORD( 'MyNewPass')WHERE用户= '根';'代替'更新mysql.user设置authentication_string =密码( 'MyNewPass'),其中用户= '根'; '即使我可以发誓,我也尝试过,在某些时候) –

回答

1

更新您应该运行此命令行的密码后:

FLUSH PRIVILEGES; 

这将使你对mysql.user表的更新,你应该是好去。

更多信息可以在这里找到Mysql documentation

+0

我这样做,但我依然收到“访问被拒绝的用户‘根’@‘localhost’的(使用密码:YES)”。 –

+0

不知道我做了不同的是,我再一次完成了所有的步骤,这一次它的工作。 (我想我使用'更新mysql.user设置密码= PASSWORD( 'MyNewPass')WHERE用户= '根';'代替'更新mysql.user设置authentication_string =密码( 'MyNewPass'),其中用户= '根'; “尽管我可以发誓,但我在某个时候也试过了。) –