所以我对此感到疯狂。我安装了MAMP,它的MySQL工作正常。我现在从他们的网站上安装了官方dmg的MySQL 5.7.19并进行了安装。
从pref面板我没有获得状态更新,因此即使它正在运行,我也无法阻止它。虽然我可以自动卸载它,但是很简单。
然而,我面临的一个大问题是虽然服务器正常启动(来自pref面板),但是当我尝试在终端中运行mysql时,我可以看到正在运行的进程和相应的/tmp/mysql.sock文件(或者任何其他mysql命令)我收到一个错误,指出它无法找到sock文件,并且它管理出Applications / MAMP路径。
我到处寻找可能正在设置的my.cnf并且没有(除了MAMP使用的那个)。没有环境变量设置为覆盖它,没有。事实上,没有其他my.cnf文件,但由于某种原因,它仍然认为它应该使用/ Applications / MAMP路径。
my_print_defaults client
确认了这一点,因为它已经消失了
--socket=/Applications/MAMP/tmp/mysql/mysql.sock
但我完全不知道设置的位置和方式,我需要能够在此实例终端命令上运行。现在让我疯了几个小时。
没有文件
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
没有环境变量MYSQL_UNIX_PORT,如下所述:https://dev.mysql.com/doc/refman/5.7/en/problems-with-mysql-sock.html
那么它是如何获得这个价值的呢?
同时在DATA_DIR
和BASE_DIR
进行了检查,其中也没有my.cnf。
显然我已经which mysql
确认我正在调用正确的二进制文件。
非常感谢任何帮助!
UPDATE 运行my_print_defaults client --verbose --no-defaults
管道输出相同的输出,所以我猜它是以其他方式设置的。这个变量在哪里可以设置?
答案 0 :(得分:0)
好的,所以我找到了答案,然后分享给有同样问题的人。
本质上,--socket参数是通过〜/ .mylogin.cnf文件添加的!
我不确定我是否曾在那里添加它,但我很确定它不是我,所以我猜MAMP做到了。
这是一个加密文件,因此您无法直接编辑它,您可以通过mysql_config_editor
进行更改:
mysql_config_editor remove --socket
问题解决了!