Java Can';t建立与数据库的连接
我目前正试图为Bukkit开发一个Minecraft插件 这是我的数据库类的代码:Java Can';t建立与数据库的连接,java,mysql,jdbc,bukkit,Java,Mysql,Jdbc,Bukkit,我目前正试图为Bukkit开发一个Minecraft插件 这是我的数据库类的代码: package net.klapsenjesus.protoncore; import java.sql.Connection; import java.sql.DriverManager; import static org.bukkit.Bukkit.getLogger; public class Database { Connection connection; public Dat
package net.klapsenjesus.protoncore;
import java.sql.Connection;
import java.sql.DriverManager;
import static org.bukkit.Bukkit.getLogger;
public class Database {
Connection connection;
public Database() {
}
public boolean connect (String host, String database, String user, String password) {
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String connectionCommand = "jdbc:mysql://"+host+"/"+database+"?user="+user+"&password="+password+"&autoReconnect=true&failOverReadOnly=false&maxReconnects=10";
connection = DriverManager.getConnection(connectionCommand);
getLogger().info("Die Datenbankverbindung wurde erfolgreich hergestellt.");
return true;
}catch (Exception ex){
System.out.println(ex);
return false;
}
}
}
我在我的主课上用以下方式来称呼它:
String[] data = new String[4];
data[0] = getConfig().getString("host");
data[1] = getConfig().getString("database");
data[2] = getConfig().getString("user");
data[3] = getConfig().getString("password");
在my.cnf中,我将绑定地址设置为0.0.0.0,防火墙没有阻止任何请求,MySQL已启动并运行。我不知道错误在哪里
例外情况如下:
无法创建到数据库服务器的连接。尝试重新连接10
时代。放弃。15:58:56警告:在
sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
15:58:56警告:在
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
15:58:56警告:在
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
15:58:56警告:在
newInstance(Constructor.java:423)
15:58:56警告:在
com.mysql.jdbc.Util.handleNewInstance(Util.java:403)15:58:56警告:
在com.mysql.jdbc.Util.getInstance(Util.java:386)15:58:56警告:
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
15:58:56警告:在
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
15:58:56警告:在
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
15:58:56警告:在
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
15:58:56警告:在
com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2095)
15:58:56警告:在
com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2020)
15:58:56警告:在
com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:768)
15:58:56警告:在
JDBC4Connection(JDBC4Connection.java:47)
15:58:56警告:在
sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
15:58:56警告:在
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
15:58:56警告:在
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
15:58:56警告:在
newInstance(Constructor.java:423)
15:58:56警告:在
com.mysql.jdbc.Util.handleNewInstance(Util.java:403)15:58:56警告:
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
15:58:56警告:在
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
15:58:56警告:在
java.sql.DriverManager.getConnection(DriverManager.java:664)15:58:56
警告:在
java.sql.DriverManager.getConnection(DriverManager.java:270)15:58:56
警告:在
net.klapsenjesus.protoncore.Database.connect(Database.java:20)
15:58:56警告:在
net.klapsenjesus.protoncore.protoncore.oneable(protoncore.java:34)
15:58:56警告:在
org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)
15:58:56警告:在
org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351)
15:58:56警告:在
org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480)
15:58:56警告:在
org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:494)
15:58:56警告:在
org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:408)
15:58:56警告:在
org.bukkit.craftbukkit.v1_16_R3.CraftServer.reload(CraftServer.java:881)
15:58:56警告:在org.bukkit.bukkit.reload(bukkit.java:651)
15:58:56警告:在
org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27)
15:58:56警告:在
org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
15:58:56警告:在
org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:763)
15:58:56警告:在
org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchServerCommand(CraftServer.java:748)
15:58:56警告:在
net.minecraft.server.v1_16_R3.DedicatedServer.handleCommandQueue(DedicatedServer.java:387)
15:58:56警告:在
net.minecraft.server.v1_16_R3.dicatedserver.b(dicatedserver.java:356)
15:58:56警告:在
net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1008)
15:58:56警告:在
net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:847)
15:58:56警告:在
net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164)
15:58:56警告:在java.lang.Thread.run(Thread.java:748)15:58:56
警告:由以下原因引起:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
通信链路故障15:58:56警告:15:58:56警告:故障
成功发送到服务器的最后一个数据包是0毫秒前。
驱动程序尚未从服务器收到任何数据包。15:58:56
警告:在
sun.reflect.GeneratedConstructorAccessor24.newInstance(未知源)
15:58:56警告:在
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
15:58:56警告:在
newInstance(Constructor.java:423)
15:58:56警告:在
com.mysql.jdbc.Util.handleNewInstance(Util.java:403)15:58:56警告:
在
com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
15:58:56警告:在com.mysql.jdbc.MysqlIO。(MysqlIO.java:335)
15:58:56警告:在
com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2187)
15:58:56警告:在
com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2036)
15:58:56警告:。。。31更多15:58:56警告:由以下原因引起:
java.net.UnknownHostException:null 15:58:56警告:在
java.net.InetAddress.getAllByName0(InetAddress.java:1281)15:58:56
警告:位于java.net.InetAddress.getAllByName(InetAddress.java:1193)
15:58:56警告:在
java.net.InetAddress.getAllByName(InetAddress.java:1127)15:58:56
警告:在
com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:188)
15:58:56警告:在com.mysql.jdbc.MysqlIO。(MysqlIO.java:299)
15:58:56警告:。。。33多
java.net.UnknownHostException:null
表示host
的值为null
(或“null”
),这表示您的配置没有属性host
(可能还有其他属性)或