簡體   English   中英

Java的MySQL連接錯誤

[英]MySQL connection error with java

當我嘗試連接到數據庫時,Eclipse給了我很多錯誤。 這是代碼:

public static void main(String[] args) throws Exception{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
    "jdbc:mysql://127.0.0.1:3306/Turniir", "root", "root");
    System.out.println("Connected to MySQL"); 
con.close(); 
}

首先,它說未知數據庫“ turniir”。 在mysql工作台中,有一個連接127.0.0.1:3306,它使用一個schema,在工作台中,我可以插入行並獲得連接。 用戶和pw應該是root,至少我要用它們登錄。但是有30個錯誤...

同樣在eclipse中,我在引用的庫下有mysql連接器5.1.27,當我檢查我的代碼(僅在運行時)時eclipse不會顯示任何紅色標記。

我認為問題出在jdbc:mysql://127.0.0.1:3306 / Turniir”,“ root”,“ root”此代碼,我以某種方式更改了服務器,或者我不知道服務器的密碼或用戶名或者我不知道正確的服務器IP /名稱...

數據庫: http : //www.upload.ee/image/3724759/mysqldb.png

連線內容: http ://www.upload.ee/image/3724938/cra0.png

這些是錯誤:

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:          Unknown database 'turniir'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
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(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
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(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Program.main(Program.java:12)

您說的是Turiir不是數據庫名稱。 這就是為什么你會得到錯誤

"jdbc:mysql://127.0.0.1:3306/Turniir", "root", "root");

   // This need to be database ^^^^

                      // this username ^^^^

                              // this password  ^^^^

如果您運行mysql並鍵入show databasesturniir沒有出現,則它不是數據庫。 將上面的代碼替換為有效的datadase。

可能區分“ Turniir”的大小寫,錯誤消息顯示“ Turniir”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM