2016-04-08 6 views
3
package practice; 

import java.sql.*; 
import java.util.Properties; 

public class DBTEst 
{ 

    private static final String dbClassName = "com.mysql.jdbc.Driver"; 

    private static final String CONNECTION = 
          "jdbc:mysql://127.0.0.1/emotherearth"; 

    public static void main(String[] args) throws 
          ClassNotFoundException,SQLException 
    { 
    System.out.println(dbClassName); 
    Class.forName(dbClassName); 

     Properties p = new Properties(); 
    p.put("user","paulr"); 
    p.put("password","welcome"); 

    Connection c = DriverManager.getConnection(CONNECTION,p); 

    System.out.println("It works !"); 
    c.close(); 
    } 
} 

私はubuntu OSでmysqlとmysqlを設定しました。しかし、私はプログラムを実行しようとしているとき私は以下のようなエラーが表示されます。eclipseでのデータベース作成の問題

com.mysql.jdbc.Driver 
Exception in thread "main" java.sql.SQLException: Access denied for user 'paulr'@'localhost' (using password: YES) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:928) 
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1750) 
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1290) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2493) 
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2526) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2311) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:347) 
    at java.sql.DriverManager.getConnection(DriverManager.java:664) 
    at java.sql.DriverManager.getConnection(DriverManager.java:208) 
    at practice.DBTEst.main(DBTEst.java:32) 

私はフォーラムで同じ質問を発見したが、私の問題は解決しませんでした...それはOSの変化に起因ならないことは、自分の無知を許しPLSの、あなたの助けのためのthis..thanksを通じて案内してくださいあり... mySQLをインストールしているときに設定したrootパスワード.. "welcome"です。

+1

を参照してください。 DBAに話してください。そのホストからデータベースに接続しているユーザ名とパスワードへのアクセス権をGRANTする必要があります。 – duffymo

+0

DBAと話す方法... DBAとは何か...何かabtデータベース...学習しようとしていません.. :) – Sud

+0

データベース管理者 - データベースを所有している人。それがあなたなら、あなたはそれを行う方法について学ぶ必要があります。通常、Java以外のデータベースとテーブルを作成します。存在する回路図と対話します。 – duffymo

答えて

0

設定時にpaulrを正しく設定していないか、見落としている可能性がありますMySQLがクライアントのIPアドレスまたはホスト名に基づいてアクセスを制御するという事実。多くの人は、localhostおよび/または127.0.0.1をユーザー設定に含めることを忘れてしまいます。ユーザー名とパスワードは、データベースへのアクセス権を持っていないこと:

は、例外がクリアされているhttps://stackoverflow.com/a/26234768/639520