MySQL はポート 3306 ではなくポート 3307 にバインドします

MySQL はポート 3306 ではなくポート 3307 にバインドします

私は 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 で製品をリッスンさせようとしていますが、それがうまくいきません。デフォルトでは、my.cnf が次のようになっている場合でも、ポート 3307 にバインドされているようです。

[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 で指定されたポートが使用されます。

関連情報