更改了MySQL root,现在无法重新登录

时间:2016-06-22 20:10:48

标签: mysql linux

我正在运行mysql 5.6并尝试按照以下说明更改root密码:https://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html

我按照标题为“ B.5.3.2.3重置root密码:通用说明

的页面底部的通用说明进行操作

我跳过停止服务器并执行FLUSH PRIVILEGES命令。我执行了以下命令:mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

但是,现在当我尝试登录时,收到此错误消息:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

有谁知道我哪里出错了?

感谢您阅读本文。

更新:我发现这篇文章很有用 - how to log in to mysql and query the database from linux terminal

其中一个答案适用于我在-p之后直接指定密码而不是等待密码提示。我的操作系统可能有问题。

有人知道为什么我可以在输入密码时登录:mysql -uroot -pMypassword但不是这样:mysql -uroot -p然后在提示时输入密码?

当我更改密码时,整个冒险开始......:/

1 个答案:

答案 0 :(得分:1)

您要做的是停止MySQL服务器,并使用以下选项以root身份启动它:

--skip-grant-tables

然后您像往常一样登录,输入用户名root和无密码,按照

更新密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

然后

FLUSH PRIVILEGES;

之后,您应该可以从同一个框中以root用户身份登录。如果您在从其他计算机登录时遇到问题,可能需要在" SET PASSWORD"中添加@符号后添加这些服务器。言。