Big*_*man 4 mysql macos homebrew
所以我mysql通过安装brew,并在我的Mac OS上安装了2个版本 -
mysql 5.7
mysql 8.0
我brew link输入的是 5.7,所以如果我输入mysql --version,它就会给我distro 5.7.26.
问题就在这里。现在如果我输入brew services list,有两个mysql stopped服务mysql@5.7 stopped
如果我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
Run Code Online (Sandbox Code Playgroud)
然后清除剩余的碎屑。
对于英特尔:
rm -rf /usr/local/var/mysql
rm /usr/local/etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
Apple Silicon 的替代方案:
rm -rf /opt/homebrew/var/mysql/
rm /opt/homebrew/etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
然后重新安装、链接并启动服务。
brew install mysql@5.7
brew link --force mysql@5.7
brew services start mysql@5.7
Run Code Online (Sandbox Code Playgroud)
此外,在 Apple Silicon 上,如果您收到如下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
Run Code Online (Sandbox Code Playgroud)
当连接到mysql -uroot刚刚启动的服务器时,尝试使用MySQL的打包服务器启动工具:
brew services stop mysql@5.7
mysql.server start
mysql -uroot
Run Code Online (Sandbox Code Playgroud)
如https://medium.com/@at0dd/install-mysql-5-7-on-mac-os-mojave-cd07ec936034中所示
| 归档时间: |
|
| 查看次数: |
2269 次 |
| 最近记录: |