さて、とある友人からの質問に答える為、自分でも検証をしてみた。
簡単なのに意外とネックだったのでサクっと香ばしいこの・・・ って何の話だっけ?w
サーバ1(MySQLクライアント) ⇒ サーバ2(MySQLサーバ) をしたいということ。
まぁ必要なものとして、
サーバ1:MySQLクライアント
サーバ2:MySQLサーバ、外部からアクセスできるユーザ て感じ。
mysqlコマンドは「-h」を用いて外部のサーバに接続できることは皆さんもご存知だろう。
mysql -u ユーザ名 -h hostname -p
※hostnameサーバのMySQLに「ユーザ名」でアクセスし、パスワード認証(-p)を行う。
まずは、まったく設定変更していないMySQLサーバに外部サーバからmysqlコマンド
で接続を試見るとどうなるかみてみましょう。
# mysql -u user -h hostname.com -p
Enter password:
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘hostname.com’ (111)
#
エラーで接続できません。。
「 Can’t connect to MySQL server on ‘******’ (111)」
しかも接続先のサーバにはま~ったくログが残りません・・・・
これで、外部からの接続を許可するようにしないと接続が出来ないことが検証できました!
そこで、MySQLサーバにて外部から接続できるように設定変更をします。
1./etc/my.cnf
もし、「bind-address」の記述がある場合には、コメントアウトしましょう。
これは、MySQLサーバに接続できるホストを制限するものです。
調べたところ「bind-addres」は1IPアドレスしか指定が出来ないようです。
複数指定しても、一番下のものが有効になるだけのようなので要注意です。
—-
The IP address to bind to. Only one address can be selected. If this option is specified multiple times, the last address given is used.
If no address or 0.0.0.0 is specified, the server listens on all interfaces.
—-
2.MySQLサーバ内に”ユーザ@接続元IP”を作成する。
>grant all privileges on *.* to user@”接続元IP” identified by ‘password’;
↑この設定だと全DBにアクセス可能になってしまいますので、特定のDBをお望みの
場合には、「*.*」を「tokutei_db.*」のように変更してください。
これで準備が整いました。
あとは接続元サーバからmysqlコマンドを用いてアクセスするだけです。
mysql -u user -h hostname.com -p
パスワードを入力し、アクセスできれば成功です☆
あ、それと何故「ユーザ@”IPアドレス”」にしたかというと、ホスト名で指定すると接続元
のIPアドレスの逆引きが異なるものの場合、接続が拒否されるからです。
↓ここで表示される逆引きが「ユーザ@ホスト名」のホスト名と一致しないと拒否されます。
Host ‘逆引き’ is not allowed to connect to this MySQL server
これで問題無ですね~
ち・な・み・に・・・
phpmyadminを用いて外部MySQLサーバに接続する際は、config.inc.phpのなかで
$cfg[‘Servers’][$i][‘host’] = ‘localhost’; を
$cfg[‘Servers’][$i][‘host’] = ‘接続先ホスト名’; にしましょうね^0^
ですが、phpmyadminはアタックのターゲットにされやすいです。
くれぐれも全環境からのアクセス可での運用はせず、個人的な意見ですが、出来れば
Web経由アクセス時のAliasを複雑なものにしましょう!
では~ ciao!
コメント
[…] https://blog.trippyboy.com/2010/mysql/外部サーバのMySQLに接続を試すの巻/ […]
[…] ■参考サイトhttps://blog.trippyboy.com/2010/mysql/%E5%A4%96%E9%83%A8%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AEmysql%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%82%92%E8%A9%A6%E3%81%99%E3%81%AE%E5%B7%BB/http://d.hatena.ne.jp/editnuki/20110813/1313177077 […]