JAVAを利用してMySQLに接続してみる

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

準備

javaからMySQLに接続するためにまずはJDBCを入手します。
JDBCはJava DataBase Connectivityの略でデータベース操作専用のAPIです。

下記からダウンロードしてきます。 http://dev.mysql.com/downloads/connector/j/

「mysql-connector-java-5.1.38.tar.gz」というファイルがダウンロードされました。さっそく解凍します。

するとフォルダの中に「mysql-connector-java-5.1.38-bin.jar」というjarファイルがあるので、適当なフォルダに配置します。

プログラム

さっそくMySQLに接続するプログラムを用意します。
下記のような感じにしました。

コンパイルして実行してみましょう。

「接続成功」と出力されれば、MySQLサーバーに接続できています。

接続できない場合

「接続失敗」と出力された場合は、なぜ接続できなかったのかエラーの詳細を調べてみましょう。

SQLExceptionの詳細を知りたいのでprintStackTraceでエラー内容を表示させます。
具体的には下記のようにプログラムに追記します。

すると下記のようなメッセージが出力されました。

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

サーバーに接続できていないようですね。

my.cnfのbind-address設定を確認してみる

これからはMySQLサーバーがCentOS6にインストールされていることを前提に解説してみます。
my.cnfの設定を確認してみましょう。
デフォルトでは外部からの接続ができないようになっていると思いますので
下記の記述をmy.cnfに追記します。

ファイアーウォール設定を確認

次にファイアーウォールの設定を確認してみましょう。 MySQLサーバーに外部から接続するには3306ポートを開いておく必要があります。

まずiptablesを開きます。

たとえば、下記のような設定を追加します。

再起動させます。

mysqldのuserテーブルの設定

次にmysqlのuserテーブルの設定を確認してみます。

これだとローカルからしかMySQLに接続できません。

外部から接続できるようにユーザーを作成してみましょう。

なお、ホスト名の確認するには下記のコマンドを使います。

接続できるか確認します。

Mysqlに接続できるか確かめてみましょう。

参考

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*

CAPTCHA