- ローカルマシンで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)
は、私はすべてのより多くの情報を含めるべきであるなら、私に教えてください。
これは実際のサーバーの詳細ですか?そうであれば、このポストの偽の値に置き換えてください。 (特別な文字を除く) –
考えてくれてありがとう。ええ、私はすでにすべてのIPアドレスとパスワードを変更しました。 – kd8azz
注:MySQL Workbenchの管理データエクスポート機能はローカルマシンからは機能しませんが、ポート7777からEC2ポート3306にsshリピータを作成してから、MySQL Administratorにlocalhostを指すよう指示します。私のローカルマシンから7777 – kd8azz