DebianにMySQLを入れて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サーバー)が複数台あり、各々他方へアクセスするような場合も、上記の設定変更が必要。
技術評論社
売り上げランキング: 199,175