在这一点上,我有点沮丧,所以我不得不寻求帮助来帮助stackoverflow大声笑,我一直被困在3h的开发环境中...
这就是发生的情况,新版本的mysql不支持新服务器插件的兼容客户端身份验证机制。 更多信息here
因此,在这一点上,我已经安装了8.0版的MySQL,并且由于没有node.js项目在本地工作,因此我试图将其恢复为5.7版。
现在,我遵循this来完全卸载MySQL。
和this来安装多版本,区别在于不用写mysql56,我写mysql@5.7是因为homebrew/versions/
已过时。
所以...一旦我这样做,我就去终端检查一下:
sudo mysql -v
我得到这个:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
如果我删除了当前代理(新版本8.0),然后又将其添加回去:
# Start agent for current version of mysql (including on login)
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
我想要的较早版本已被链接:
brew link --force mysql@5.7
现在...当我键入以下内容时,这很有趣:mysql --version
它说:mysql Ver 14.14 Distrib 5.7.23, for osx10.13 (x86_64) using EditLine wrapper
当我转到我的node.js env时。运行查询之类的内容,它说:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
这是其他有关MySQL版本控制的文章中提到的问题。
有人可以帮我吗。谢谢你们
答案 0 :(得分:1)
Brew应该为我提供一种安装该版本的便捷方法,但最终我甚至忘记了我正在开发的用于对MySQL进行故障排除的内容...因此,我决定转到oracle页面并从那里下载它。如果有人遇到相同的问题,我做了个指南,请仔细阅读here。
如果某人有时间并且想与Brew一起玩乐,请告诉我解决方案:)