【发布时间】:2017-07-07 13:44:36
【问题描述】:
我搜索了类似的问题来寻找解决我的问题的方法,因为很多人都和我有同样的问题。但是,没有任何解决方案有帮助,而且我仍然有相同的错误堆栈。
这是我启动连接的 java 代码。堆栈清楚地指向 conn=DriverManager.getConnection(...); 的行:
package com.wine.plugins.managers.models;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public abstract class DatabaseModel
{
protected static Connection conn = null;
private static final String url = "jdbc:mysql://localhost/wineships?useSSL=false";
private static final String username = "wineship";
private static final String password = "password";
public DatabaseModel()
{
try {
if(conn == null)
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, username, password);
if (conn != null) {
System.out.println("Connected to the database");
}
}
} catch (SQLException e) {
e.printStackTrace();
System.exit(0);
} catch (InstantiationException e) {
e.printStackTrace();
System.exit(0);
} catch (IllegalAccessException e) {
e.printStackTrace();
System.exit(0);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(0);
}
}
}
这是堆栈:
[08:24:25 WARN]: java.sql.SQLException: Access denied for user 'wineship'@'localhost' (using password: YES)
[08:24:25 WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
[08:24:25 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
[08:24:25 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
[08:24:25 WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873)
[08:24:25 WARN]: at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1710)
[08:24:25 WARN]: at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
[08:24:25 WARN]: at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2194)
[08:24:25 WARN]: at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2225)
[08:24:25 WARN]: at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2024)
[08:24:25 WARN]: at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:779)
[08:24:25 WARN]: at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
[08:24:25 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[08:24:25 WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[08:24:25 WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[08:24:25 WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[08:24:25 WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
[08:24:25 WARN]: at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)
[08:24:25 WARN]: at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
[08:24:25 WARN]: at java.sql.DriverManager.getConnection(DriverManager.java:664)
[08:24:25 WARN]: at java.sql.DriverManager.getConnection(DriverManager.java:247)
[08:24:25 WARN]: at com.wine.plugins.managers.models.DatabaseModel.<init>(DatabaseModel.java:21)
[08:24:25 WARN]: at com.wine.plugins.managers.models.ValidBlocksDatabaseModel.<init>(ValidBlocksDatabaseModel.java:10)
[08:24:25 WARN]: at com.wine.plugins.managers.BlockValidityManager.initialize(BlockValidityManager.java:16)
[08:24:25 WARN]: at com.wine.plugins.WineShips.onEnable(WineShips.java:12)
[08:24:25 WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[08:24:25 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337)
[08:24:25 WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:402)
[08:24:25 WARN]: at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:377)
[08:24:25 WARN]: at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:327)
[08:24:25 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:421)
[08:24:25 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:382)
[08:24:25 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:337)
[08:24:25 WARN]: at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272)
[08:24:25 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:544)
[08:24:25 WARN]: at java.lang.Thread.run(Thread.java:748)
MySQL 服务器在 Linux 上的 Xampp 程序的 localhost:3306 上运行。该代码适用于将从 SQL 服务器请求数据的 minecraft 服务器。
【问题讨论】:
-
你试过用 127.0.0.1 代替吗?
-
确保您的用户 'wineship'@'localhost' 对您的数据库拥有必要的权限。
-
也许您没有名为
wineship的用户和password的密码。尝试使用root作为用户和""(无密码只需打开和关闭双引号)作为密码。因为如果还没有配置你的用户名和密码,这些是默认的用户名和密码。