--with-tcp-port vs /etc/services

以前こんなエントリを書きました。

簡単にまとめるとこんな感じ。

  1. configure時に--with-tcp-portでデフォルトのポート番号を指定可能。
  2. ただしLinux/Unix等の/etc/servicesファイルを使用しているOSでは、そのservicesファイルに記載されているMySQLのポート番号によって起動時に上書きされる。
  3. /etc/my.cnf等の設定ファイルでportを指定すればさらに上書きされる。

で、configureで指定してたら上記の2は不要じゃないのーpatch作ったよーという投稿がinternals-listにありました。

configure時に--with-tcp-portが指定されていなかった場合にのみ/etc/servicesによる上書き機能よびだされるようになるパッチとのことです。

個人的にこの変更には賛成。だってWindowsだと2が無いので--with-tcp-portをLinux/Win双方で指定してビルドした場合、Windowsバイナリだけ値が反映されているのには違和感あるし。/etc/servicesファイルを書き換えればLinuxでもmy.cnfでの指定なしにポート番号変えれるけど、/etc/servicesいじるのにも違和感あるし。