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,使用 EditLine 包裝器用於 osx10.8 (x86_64)」。不過,我確實下載並安裝了“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。

這裡發生了什麼事?

答案1

您可以嘗試檢查一下您的機器中是否存在以下文件?

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

檢查連接埠是否定義在 3307 上,如果是,則變更為 3306 並重新啟動服務。

答案2

這肯定與MySQL系統首選項面板及其啟動伺服器的方式有關。我禁用並刪除了首選項面板。當我在命令列上使用“mysqld_safe”啟動/停止伺服器時,它使用 my.cnf 中指定的連接埠。

相關內容