安装后立即拒绝用户'root'@'localhost'的访问

时间:2019-03-18 20:04:25

标签: mysql macos

我有一台运行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)中有一些我不知道的新配置吗?

2 个答案:

答案 0 :(得分:1)

尝试使用MySQL Workbench。您可以将其安装在他们的网站上,或者如果您使用的是homebrew(强烈建议使用),只需brew cask install mysqlworkbench

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

自制软件使诸如此类的权限问题几乎不存在!老实说,您应该使用所有内容安装它。

答案 1 :(得分:1)

我终于做到了。使用最新版本的MySQL v8.0.15(可能还包括之前的版本),在配置步骤中,它会要求您使用以下两个选项之一来配置服务器。

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

安装前四到五次,我选择了选项#1,它表示...

  

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

     

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

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