我正在运行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
然后在提示时输入密码?
当我更改密码时,整个冒险开始......:/
答案 0 :(得分:1)
您要做的是停止MySQL服务器,并使用以下选项以root身份启动它:
--skip-grant-tables
然后您像往常一样登录,输入用户名root和无密码,按照
更新密码SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
然后
FLUSH PRIVILEGES;
之后,您应该可以从同一个框中以root用户身份登录。如果您在从其他计算机登录时遇到问题,可能需要在" SET PASSWORD"中添加@符号后添加这些服务器。言。