MySQL 绑定到端口 3307 而不是端口 3306

sco*_*cot 9 mysql macos

我在 2014 年末的 Mac Mini 上运行 OS X Yosemite 10.10.5。这是我的开发服务器。我刚刚在这台机器上安装了 MySQL:'mysql --version' 报告版本是 'mysql Ver 14.14 Distrib 5.6.26, for osx10.8 (x86_64) using EditLine wrapper'。我确实下载并安装了“OS X 10.9”版本(我只是重新检查了 DMG 文件)。

无论如何,我试图让产品照常侦听端口 3306,但我很难做到这一点。默认情况下,它似乎绑定到端口 3307,即使 my.cnf 看起来像这样:

[mysqld]
bind-address = 0.0.0.0
port         = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Run Code Online (Sandbox Code Playgroud)

(最后一行已经在 /usr/local/mysql/ 中的默认行中)

查看运行过程,我可以看到命令行(ps ax | grep mysql)已给出为 3307:

40958   ??  Ss     0:00.38 /usr/local/mysql/bin/mysqld \\
--user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data \\
--plugin-dir=/usr/local/mysql/lib/plugin \\
--log-error=/usr/local/mysql/data/mysqld.local.err \\
--pid-file=/usr/local/mysql/data/mysqld.local.pid --port=3307
Run Code Online (Sandbox Code Playgroud)

(我目前正在使用 MySQL 系统首选项面板启动和停止它,而不是直接从命令行关闭)

要从客户端访问它,我必须在命令行上显式设置端口

$ mysql -u smcphee -h 192.168.x.x -P 3307 -p
Run Code Online (Sandbox Code Playgroud)

对于踢球,我编辑了 my.cnf 以指定其他一些随机端口。服务器仍然绑定到端口 3307。我在磁盘上找不到任何可能覆盖它的其他 my.cnf。

这里发生了什么?

小智 10

您可以尝试检查您的机器中是否存在以下文件吗?

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
Run Code Online (Sandbox Code Playgroud)

检查端口是否定义在 3307 上,如果是,则更改为 3306 并重新启动服务。