【问题标题】:How to solve My SQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)如何解决 My SQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
【发布时间】:2020-05-22 17:02:16
【问题描述】:

我知道已经有类似的问题,我尝试了每个解决方案,但不知何故似乎没有任何帮助。也许有人知道发生了什么。我对编程世界很陌生,还不明白所有命令的背后是什么,但我尽力自己解决了。

我通过自制软件在 Mac 上安装了 MySQL。只要没有设置密码,并且在要求输入密码时我可以按回车,一切都很好。然后我通过这个命令更改了密码 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';

执行此操作后,我无法再登录,并且总是收到 ERROR 1045 (28000)。我重新安装了 SQL 并通过然后我通过 MySQL 社区服务器安装了 SQL 下载了另一个版本,但这也没有改变任何东西。

但是通过 MySQL 社区安装,我可以转到系统偏好设置并重置密码(这也不能通过终端工作) - 但还是没有运气。

我会很感激任何想法。谢谢。

【问题讨论】:

  • 您是否尝试过 MySQL 自己的这些说明? dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
  • 是的,但不知何故,如果我使用一般说明,找不到命令“--skip-grant-tables”
  • "找不到命令 "--skip-grant-tables"" - 这不是命令,它是您在启动时传递给 mysqld 的参数。但是 Mac 是类 unix,所以你也可以按照类 unix 的说明进行操作。
  • 嗯,好的。那么如何在启动时传递参数? unix 指令的问题是我需要能够访问 MySQL,而这正是我的问题
  • 一开始你是如何启动 MySQL 的?大概你有一个调用mysqld的脚本?我会停止它,然后查看该脚本并编辑脚本或在终端中手动运行指令以使用 --skip-grant-tables 选项重新启动服务器。

标签: sql macos mysql-error-1045


【解决方案1】:

此问题可能是由于在升级到 ubuntu 16.04 期间未设置密码时默认为 root 用户启用了套接字身份验证。

解决方案是恢复到本机密码身份验证。您可以通过使用套接字身份验证登录 MySQL 来做到这一点:

sudo mysql -u root

登录后:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

这将恢复到本机(旧默认)密码身份验证。

现在在 MySQL 需要时使用 password 作为密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-25
    • 2018-08-17
    • 1970-01-01
    • 2021-12-30
    • 2016-09-28
    • 2012-04-28
    • 1970-01-01
    • 2022-12-01
    相关资源
    最近更新 更多