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


9

2014年後半のMac MiniでOS X Yosemite 10.10.5を実行しています。それは私の開発サーバーです。私はこのマシンにMySQLをインストールしました。「mysql --version」は、バージョンが「mysql Ver 14.14 Distrib 5.6.26、osx10.8(x86_64)for EditLineラッパーを使用している」と報告します。「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を見つけることができません。

ここで何が起こっているのですか?

回答:


10

マシンに次のファイルが存在するかどうかを確認できますか?

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

ポートが3307で定義されているかどうかを確認し、これが真の場合は3306に変更して、サービスを再起動します。


はい、そうです。そして、次の行があります:<string>-port = 3307 </ string>なぜデフォルトでそれを行うのですか?
スコット2015

1
このファイルがサービスを開始するため、これが発生すると思いますが、よくわかりませんが、行を削除すると、サービスはmy.cnfファイルのポートを使用します。
Victor Marroquin、2015

もちろんそうです。「なぜ」とは、予想される賢明なデフォルトではなく、そのような値でファイルをインストールする理由を意味します。(もちろん、インストールパッケージが起動デーモンをインストールしたと想定しています...他に何があるのでしょうか?)
scot

1

これは、MySQLシステム設定パネルとサーバーを起動する方法に関係する必要があります。設定パネルを無効にして削除しました。コマンドラインで「mysqld_safe」を使用してサーバーを起動/停止すると、my.cnfで指定されたポートが使用されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.