所以我通过 brew
安装了 mysql
,并且在我的 Mac OS 上安装了 2 个版本 -
mysql 5.7
mysql 8.0
我brew link
'ed到5.7,所以如果我输入mysql --version
,它会给我distro 5.7.26
。
问题就出在这里。现在,如果我输入 brew services list
,就会有
两个服务 mysql 已停止
和 mysql@5.7 已停止
如果我brew services start mysql
,那么我在终端中sudo mysql
,我就可以连接到mysql服务器。但它显示服务器实例是8.0
。好吧,我想与命令行不同,brew services start XXX
不会获取链接的 XXX
如果我brew services start mysql@5.7
,并且我sudo mysql
,它将无法成功连接。它给了我错误 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
我认为这意味着 mysql 客户端找不到事件的开放实例。
如何连接到旧版本的本地mysql实例?
最佳答案
好吧,经过两天的努力,我解决了。
解决方案是,如果我想运行本地 mysql 5.7
实例,我需要完全删除任何系统 mysql 8.0
。和 mysql 5.7
文件夹,以及从 brew
最后只重新安装mysql 5.7
brew uninstall mysql
brew uninstall mysql@5.7
rm -rf /usr/local/var/mysql
rm /usr/local/etc/my.cnf
brew install mysql@5.7
brew link --force mysql@5.7
brew services start mysql@5.7
如 https://medium.com/@at0dd/install-mysql-5-7-on-mac-os-mojave-cd07ec936034 中所示
关于mysql - brew 启动旧版本的 mysql 服务,但如何连接到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56676869/