LinuxのMySQLを外部から接続できるようにする。
2つの壁があり、チョット苦戦したので、メモしておきます。
手順1)ポート3306を空ける。
・別PCのWindowsの[コマンドプロンプト]から以下のコマンドを実行し、
ポートが空いていないことを確認する。
C:\>telnet 192.168.0.99 3306 接続中: 192.168.0.99...ホストへ接続できませんでした。 ポート番号 3306: 接続に失 敗しました
# startx
・メニューの[デスクトップ]/[システム管理]/[セキュリティレベルとファイヤーウォールの設定]を選択する。
・[セキュリティレベルの設定]ダイアログが開く。[その他のポート]を展開し、[追加]ボタンを押す。
・ポート 3306 を追加する。確認ダイアログが開くのでOKを押す。
・別PCのWindowsの[コマンドプロンプト]から以下のコマンドを実行し、メッセージが変わったことを確認する。
C:\>telnet 192.168.0.99 3306
最初はCUIからiptablesなど試していたのですが、よくわかりませんでした。上記のやるとあっさり解決。
手順2)mysqlに外部から接続するためのユーザを登録する。
# mysql -u root
・以下の2つのコマンドを実行し、新しいユーザとパスワードを設定する。
この中で、testがユーザID、testpass がパスワードになります。
mysql> GRANT ALL PRIVILEGES ON *.* TO test@"%" IDENTIFIED BY 'testpass' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'testpass' WITH GRANT OPTION;
※パスワードは必須かもしれない。(未確認)
※mysqlの再起動が必要かもしれない。(未確認)
再起動の方法は、root権限で以下のコマンドを実行。
/sbin/service mysql restart
補足)JDBCドライバのダウンロード&設定
・ダウンロード方法
http://dev.mysql.com/downloads/
左のメニューより、[Connectors]を選択。[Connector/J]を選択。ダウンロード後、解凍する。
・JDBCの設定
ドライバ名: com.mysql.jdbc.Driver
URL: jdbc:mysql://192.168.0.99:3306/データベース名
ユーザ名 手順2で設定したユーザ名
パスワード 手順2で設定したパスワード
クラスパスにJDBCのjarファイルを追加。
AsanDatabaseBrowser
http://www.hcn.zaq.ne.jp/no-ji/AsanDatabaseBrowser20080611.zip