【问题标题】:OSX MySql terminal parametersOSX MySql 终端参数
【发布时间】:2017-09-13 19:26:40
【问题描述】:

所以我要疯了。我安装了 MAMP,它的 MySQL 工作正常。我现在从他们网站的官方 dmg 安装 MySQL 5.7.19 并安装。

从首选项面板我没有得到状态更新,因此即使它正在运行我也无法停止它。微不足道,因为我可以启动卸载它。

但是,我面临的一个大问题是,尽管服务器正确启动(从 pref 面板)并且当我尝试在终端中运行 mysql(或任何其他 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_DIRBASE_DIR,那里也没有my.cnf。

显然我已经完成which mysql 以确认我调用了正确的二进制文件。

非常感谢任何帮助!

更新 运行my_print_defaults client --verbose --no-defaults 管道相同的确切输出,所以我猜它以某种方式设置在其他地方。这个变量可以在哪里设置?

【问题讨论】:

    标签: mysql macos terminal


    【解决方案1】:

    好吧,我终于找到了答案,并分享给任何有同样问题的人。

    本质上--socket参数是通过~/.mylogin.cnf文件添加的!

    我不确定我是否曾经添加过它,但我很确定不是我,所以我猜是 MAMP 做的。

    这是一个加密文件,所以你不能直接编辑它,你可以通过mysql_config_editor更改它:

    mysql_config_editor remove --socket

    问题解决了!

    【讨论】:

      猜你喜欢
      • 2014-06-20
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 2012-12-02
      • 1970-01-01
      • 2013-08-04
      相关资源
      最近更新 更多