【问题标题】:Access denied for user 'root'@'localhost' immediately after install安装后立即拒绝用户'root'@'localhost'的访问
【发布时间】:2019-08-09 06:51:31
【问题描述】:

我有一台运行 Mojave 的全新 Mac。我已经在我的旧 Mac 上多次安装了 MySQL,从来没有遇到过问题。但是,无论出于何种原因,这个安装都没有开始。

我已经安装了 MySQL 并启动了服务器。此时,我想做的就是从命令行验证版本,这就是我得到的:

> mysql -v
ERROR 1045 (28000): Access denied for user 'milnuts'@'localhost' (using password: NO)
> mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我搜索过大量其他帖子,this one 是最接近的,但几乎所有解决方案实际上都需要能够以 root 身份连接到 MySQL。我什至不能那样做。我在安装过程中从未指定密码,所以我在这里遗漏了什么? Mojave 中是否有一些我不知道的新配置?

【问题讨论】:

    标签: mysql macos


    【解决方案1】:

    尝试使用MySQL Workbench。你可以在他们的网站上安装它,或者如果你使用homebrew(我强烈推荐),只需brew cask install mysqlworkbench

    您可能需要尝试重新安装 mysql。如果您没有使用homebrew 安装它,这可能会很痛苦。但是,如果你这样做了,你可以简单地brew uninstall mysql 然后brew install mysql

    homebrew 使此类权限问题几乎不存在!老实说,您应该使用它来安装 everything

    【讨论】:

    • 谢谢,我最初确实使用自制软件安装了 mysql,但遇到了这个问题。请参阅下面的答案,但问题似乎与我在配置期间选择的密码身份验证方法有关。
    【解决方案2】:

    我终于得到了这个工作。使用最新版本的 MySQL v8.0.15(也可能是之前版本),在配置步骤中,它会要求您使用两个选项之一来配置服务器。

    1. 使用强密码加密
    2. 使用旧密码加密

    我安装的前四五次,我选择了选项 #1,它说...

    MySQL 8 支持一种新的、更强大的身份验证方法,该方法基于 SHA256。 MySQL 服务器的所有新安装都应该使用这个 方法。

    不支持此方法的连接器和客户端将无法使用 连接到 MySQL 服务器。目前,连接器和社区 使用 libmysqlclient 8.0 的驱动支持新方法。

    在我上次安装时,我选择了选项 #2。这似乎解决了我遇到的所有问题。所以这显然与身份验证过程有关。

    【讨论】:

    • 很高兴您发布了这个答案!我怀疑其他人也有同样的问题。
    猜你喜欢
    • 2019-08-14
    • 2018-10-01
    • 2013-07-28
    • 2023-03-20
    • 2017-10-04
    • 2019-07-10
    • 2013-08-22
    相关资源
    最近更新 更多