外部からMySQLに接続する方法

MySQL

サーバー間を超えてのMySQLのデータを参照したいときとか、ローカルのデータを移行するのが面倒だった場合にMicrosoftの『Office Access』を使用して、ODBC経由でエイッ!とデータを挿入したり更新したりしたい場合のための覚え書き
セキュリティのため必要なときにしか設定しないようにしているのであまりにも機会が少なくていつもすっかり忘れて右往左往イェイイェイしてしまう
※歳のせいではない


○ファイヤーウォールの設定

//MySQLへの外部接続用に設定されているポートを確認する。

普通は3306番号を指定されているので下記の様な感じが表示されるはず。
※セキュリティ向上のために本来はポートを変更しておくべきです

サーバーのアクセス制限を確認し、MySQLの外部接続許可ポートを許可する
//iptablesの確認

//iptableの修正

例)-A RH-Firewall-1-INPUT -s 192.168.0.1 -p tcp –dport 3306 -j ACCEPT
※192.168.0.1に接続元として許可したいグローバルIPアドレスを入れる

//iptableの再起動

○接続用ユーザーの作成
//MySQLへログイン

//MySQL内のキャッシュを消して、ユーザー情報を正確に確認する

//既にMySQLに登録されているユーザを確認(同じユーザーを作らないため)

※メインで接続するユーザーと同じユーザー名で作ってしまうとパスワードも同じに設定しがちになるので別のユーザー名を作ることがお薦め。同一だと今後、複数のサーバーからの外部参照が増えたときに1サーバーでもCONNECT情報のファイルを覗かれてしまったら被害が拡大してしまう恐れがある。

//MySQLに外部参照を許可するユーザーを追加する
・どのネットワークからでも、すべてのDBに接続できるようにする場合

※ユーザー名の後の%はどこからの接続でも許可するを意味する

・限られたネットワークからだけの接続を許可したい場合は下記のようにネットワークを指定する場合

//MySQL内のキャッシュを消して、ユーザー情報を正確に確認する

//MySQLに登録されたかどうだか見てみよう

ちゃんと登録されていればOK牧場


○接続
WEBブラウザを使う・・・phpmyadminやAdminer(こっちの方が使いやすい)で接続する

【入手先】
・phpmyadmin
http://www.phpmyadmin.net/home_page/index.php

・Adminer for MySQL
http://www.adminer.org/

ローカルPCからの接続はAccessのODBCで
・Connector/ODBC
http://dev.mysql.com/downloads/connector/odbc/

【設定例】
1.コントロールパネル → 管理ツール → ODBC を選択

2.ODBCデータソース アドミニストレーターが表示されるので『追加』をクリック
ODBC画面(Win7 64bit)

3.データソースからMySQL ODBC 5.1 Driverを選択
ODBC画面(Win7 64bit) データソース選択

4.MySQL Connector/ODBCのConfiguration(コンフィグレーション)が開く
ODBC設定画面(Win7 64bit)MySQL詳細設定

5.接続用の詳細を入力していく
ODBC設定画面(Win7 64bit)詳細入力

・Data Source Nameには分かりやすい名前を入れる(日本語は文字化けするかも)
・Tcp/IP Serverには接続先のサーバー(MySQLがインストールされている)のIPアドレスを入れる
・UserにはMySQLに接続するためのユーザー名
・PasswordにはMySQLに接続するためのパスワード
上記を入れて『Test』をクリック

6.接続が成功すると下記の画面がでる
ODBC設定画面(Win7 64bit)接続成功画面

7.Databaseのプルダウンを選ぶとMySQLに入っているデータベースの一覧が表示されます
ODBC設定画面(Win7 64bit)接続成功 プルダウン画面

8.ODBC接続をしたいデータベースを選択して保存すれば、AccessからODBCリンクでテーブルが選べるようになります。