mysql@5.7 拒绝访问

Access denied on mysql@5.7

我通过 brew 在 macOS 上安装了软件包 mysql@5.7,以便可以使用 Laravel,按照当前文档,但我无法访问 mysql@5.7

$ mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

文档说

Database

If you need a database, try MySQL by running brew install mysql@5.7 on your command line. Once MySQL has been installed, you may start it using the brew services start mysql@5.7 command. You can then connect to the database at 127.0.0.1 using the root username and an empty string for the password.

我进行了长时间的研究,发现这是一个非常普遍的问题,但无论我尝试什么都没有用

我启动了 mysqld 跳过刷新权限,但随后无法使用 mysql -u root -p root 我试着 运行 一个 php artisan cache:clear 我尝试使用 sudo -s 以 root 身份登录 和其他暂时不记得的事情(基本上是3天我很忙) 我真的很惊讶,像Laravel这样的框架应该很容易,有这种问题,文档教程和laracast都没有报告,我没有做任何奇怪的事情,只是按照指南

我看到了一个 post,其中针对此错误建议更改密码,但在这种情况下我也遇到了一些问题,所以我不得不结合不同的响应,但现在可以了 我主要关注这个 post 但到了第 5 点:

5 : modify your password your new password should be input in "()"

我不得不处理 mysql@5.7 中的一个变化,即如果你这样做 show tables 你会看到密码列不再存在,所以你会收到一条不存在的错误消息列密码, 所以我刚通过

update user set authentication_string=password('1111') where user='root';// please notice 1111 is the password you fill

如其他

所示

然后我按照 post 指示的另一个步骤刷新权限并退出 最后我再次启动了守护进程 $brew services start mysql@5.7$mysql -u root -p (herethepassword) 没用所以我做了

$mysql --password=(herethepassword) --user=root

并工作