[解決]ローカル内の他の端末からMySQLに接続できない件[my.cnf,bind-address]

この記事は約2分で読めます。
スポンサーリンク

DebianMySQLを入れてDBサーバーとし、ローカル環境に置く。

試験サーバーをローカルに立てて、作業用端末からアクセスすることはよくあることだ。

が、デフォルトでは、MySQLの入った端末からは当然アクセスできるが(自己内)、ローカル内の他の端末からはアクセスできない。

これを可能にするには、MySQLの入った端末(DBサーバー)の

/etc/mysql/my.cnf (MySQLの設定ファイル)

を編集する。

なお、Debianに限らずLinuxでは、/etcは設定ファイルを格納するディレクトリである。

/etc/mysql/my.cnf

bind-address = 127.0.0.1

という記述があるので、これを削除するか、先頭に#(コメント行)を付けて、

# bind-address = 127.0.0.1

とし、

/etc/init.d/mysql restart

で、MySQLの再起動。

再起動後、DBサーバーに接続できるかを確認する。

これで解決はするのだが、このbind-addressは、接続したいMySQLが動いている端末のIPアドレスであり、接続を許可するIPアドレスではないのだ。

従って、接続できる端末を増やそうとして

bind-address = 127.0.0.1

bind-address = 192.168.0.10

bind-address = 192.168.0.20

と併記しても意味がない、というか、そもそも無効。

繰り返すが、bind-addressは接続を許可するIPアドレスではなく、これで接続してくる端末のIPを制限するものではない。

なお、MySQLの入った端末(DBサーバー)にApache等のWEBサーバーが入っており、そのWEBサーバーからMySQLにアクセスする場合は、自己内なので何もする必要はない。

MySQLの入った端末(DBサーバー)が複数台あり、各々他方へアクセスするような場合も、上記の設定変更が必要。

MySQL全機能バイブル ~現場で役立つAtoZ~
鈴木 啓修
技術評論社
売り上げランキング: 199,175

タイトルとURLをコピーしました