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

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

我在 2014 年末的 Mac Mini 上运行 OS X Yosemite 10.10.5。这是我的开发服务器。我刚刚在这台机器上安装了 MySQL:“mysql --version”报告版本为“mysql Ver 14.14 Distrib 5.6.26,适用于 osx10.8 (x86_64) 使用 EditLine 包装器”。但我肯定下载并安装了“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

(最后一行已经是 /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

(我目前使用 MySQL 系统偏好设置面板来启动和停止它,而不是直接从命令行启动和停止)

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

$ mysql -u smcphee -h 192.168.x.x -P 3307 -p

为了好玩,我编辑了 my.cnf 以指定其他随机端口。服务器仍绑定到端口 3307。我在磁盘上找不到任何其他可能覆盖它的 my.cnf。

这里发生了什么?

答案1

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

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

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

答案2

这一定与 MySQL 系统首选项面板及其启动服务器的方式有关。我禁用并删除了首选项面板。当我在命令行上使用“mysqld_safe”启动/停止服务器时,它会使用 my.cnf 中指定的端口。

相关内容