我刚从最新的DMG文件中下载了OSX 10.10.4(Yosemite)上已安装的MySQL。
看起来它在端口3307上运行,而不是标准3306。 (例如telnet到localhost上3306次,telnet到localhost上3307给了我预期的mysql提示)
经历了这种无聊的谷歌搜索,试图用my.cnf文件覆盖它(端口= 3306),我有一个解决方法,只是不确定它是否理智。
在MySQL下的“系统偏好设置”中,单击“启动时自动启动MySQl服务器”框。
这迫使它在/ Library / launchDaemons中生成launchDaemon。
然后我编辑了该文件并将端口更改为3306并重新启动。
现在工作正常。
可是:
答案 0 :(得分:0)
默认情况下,mysql在尝试连接localhost时选择套接字流。 要更改此行为,您必须更改个人my.cnf 添加到字符串
protocol=tcp
实施例: 1)我看到你的问题:
$ mysql -h localhost -P 33306 -uyyyyyy -pzzzzz ERROR 2002(HY000):无法通过socket' /var/run/mysqld/mysqld.sock'连接到本地MySQL服务器; (2)
2)我创建了〜/ .my.cnf:
[client]
protocol=tcp
并尝试:
$ mysql -h localhost -P 33306 -uyyyyyy -pzzzzz
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 566582
Server version: 5.5.44-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
一切正常