2012-01-05 13 views
1
  • ローカルマシンでUbuntu 11.10が実行されています。私はIDEとしてEclipse Indigoを使用しています。
  • 私のサーバーはAmazon EC2上で動作するBitNami LampStack(Ubuntu 10)です。
  • 私は.NETとJavaの両方で比較的経験がありますが、JDBC、MySQL Administration、Linux、およびEC2の初心者はです。

私は正常にポート3306を開いており、MySQL Workbenchは正しく接続できます。ユーザー 'root' @ '%'にはすべての権限が与えられ、デフォルトのデータベースはありません。Ubuntu 11.10からAmazon EC2へのJDBC接続BitNami LampStackインスタンス - アクセス拒否(パスワード:YESを使用)

不適切なドライバ発見の問題で苦労した後、私はついにJava Projectに直接mysql-connector-java-5.0.8-bin.jarを入れました。私はこれがおそらく最適ではないことを認識していますが、うまくいくようです。私はUbuntu上で正しくインストールする方法を理解できず、EC2へのssh経由ではより難しくなると心配していますので、プロジェクトにコンパイルできると思いました。リンクもそれを修正することはいいと思います。

以下は、例外をスローするコードです。これはメインの一番上にあります。最初は何も実行されません。

私はClass.forName(...)の有無にかかわらずこれを試しました。また、資格情報にjava.util.Propertiesを使用しました。同一の資格情報がMySQLワークベンチから同じマシン上で動作します。これは、何回もタイプミスがないようにコピー+ペーストしています。

フォーマットを維持しながら、セキュリティのためにパスワードとアドレスを変更しました。明示的に言うと、ここでのパスワードは "Abcdef1234#"です。私が知っている限り、#が原因かもしれません。

その後、スロー
Class.forName("com.mysql.jdbc.Driver"); 
String CONNECTION_STRING = "jdbc:mysql://ec2-87-212-16-34.compute-1.amazonaws.com?user=root&password=Abcdef1234#"; 
Connection cn = DriverManager.getConnection(CONNECTION_STRING); 

Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'ppp-72-135-32-239.dsl.hgyuct.swbell.net' (using password: YES) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885) 
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421) 
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247) 
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775) 
at com.mysql.jdbc.Connection.<init>(Connection.java:1555) 
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) 
at java.sql.DriverManager.getConnection(DriverManager.java:620) 
at java.sql.DriverManager.getConnection(DriverManager.java:222) 
at Program.main(Program.java:5) 

は、私はすべてのより多くの情報を含めるべきであるなら、私に教えてください。

+0

これは実際のサーバーの詳細ですか?そうであれば、このポストの偽の値に置き換えてください。 (特別な文字を除く) –

+0

考えてくれてありがとう。ええ、私はすでにすべてのIPアドレスとパスワードを変更しました。 – kd8azz

+0

注:MySQL Workbenchの管理データエクスポート機能はローカルマシンからは機能しませんが、ポート7777からEC2ポート3306にsshリピータを作成してから、MySQL Administratorにlocalhostを指すよう指示します。私のローカルマシンから7777 – kd8azz

答えて

1

パスワードが'root'@'%'のパスワードと異なるため、以前のパスワードであると思っていたJDBCからの接続に問題がありました。