RHEL 6のMysql jdbc接続の問題

RHEL 6のMysql jdbc接続の問題

mysqlRHEL 6サーバーの1つにデータベースを設定しました。javaプログラムを使用して別のコンピュータからこのサーバーのデータベースに接続したいと思います。どうすればいいですか?

答え1

クラスパスの設定

JDBCコネクタはパスにあります/usr/share/java/。私達は輸出することができますクラスパス同様に、

export CLASSPATH=/usr/share/java/mysql-connector-java.jar:$CLASSPATH

ユーザー許可

データベースにアクセスするユーザーには権限を付与する必要があります。これは、mysql次のクエリを使用して達成できます。

GRANT ALL PRIVILEGES ON *.* TO ‘user’@’%’ IDENTIFIED BY ‘<user-password>’ WITH GRANT OPTION;

これで、Javaプログラムを使用してこのコンピューターサーバーへの接続を確立できますが、このサーバーの名前を使用するか、別のコンピューターから接続する必要があるmysql場合は、説明したようにいくつかの例外が発生します。localhostここそしてここ

/etc/hostsファイルの編集

上記の手順では、システムのホスト名の代わりにシステムのIPアドレスのみを使用すると機能します。したがって、問題はdns名前解決に関連していると思われます。

/etc/hosts次の項目を含むようにファイルを変更しました。

127.0.0.1   servername.edu        localhost

まだホスト名を使用してデータベースに接続できません。/etc/hostsファイルも変更したことを考えると変だと思われます。私はip6tablesこれが問題であることを確認するために停止しました。ただし、どのオプションも機能しないため、例外が発生します。

ERROR: java.net.UnknownHostException:connection refused

/etc/my.cnf ファイルの編集

最後の例外は有望です。接続が拒否されたことを示すメッセージが表示されます。ホスト名のようなものは解決できません。だから私は/etc/my.cnfファイルから何かを変更し、ファイルに次の行を追加する必要があると思いました。

port=3306
bind-address=0.0.0.0

上記のように変更すると、ホスト名を使用してどこからでもこのコンピュータに接続できます。

関連情報