Java 将MySQL连接到JasperReports服务器

Java 将MySQL连接到JasperReports服务器,java,mysql,database,jasperserver,Java,Mysql,Database,Jasperserver,我正在尝试将JasperReports服务器连接到远程MySQL服务器。我非常确定我把驱动程序放在了正确的位置(因为它在JR服务器仪表板中显示为一个选项)。以下是仪表板: 下面是我得到的错误: java.sql.SQLNonTransientConnectionException: Could not connect to 54.213.92.113:3306 : Connection refused at org.mariadb.jdbc.internal.SQLExceptionMapp

我正在尝试将JasperReports服务器连接到远程MySQL服务器。我非常确定我把驱动程序放在了正确的位置(因为它在JR服务器仪表板中显示为一个选项)。以下是仪表板:

下面是我得到的错误:

java.sql.SQLNonTransientConnectionException: Could not connect to 54.213.92.113:3306 : 
Connection refused at org.mariadb.jdbc.internal.SQLExceptionMapper.get(SQLExceptionMapper.java:136) 
at org.mariadb.jdbc.internal.SQLExceptionMapper.throwException(SQLExceptionMapper.java:106) 
at org.mariadb.jdbc.Driver.connect(Driver.java:114) at java.sql.DriverManager.getConnection(DriverManager.java:571) 
at java.sql.DriverManager.getConnection(DriverManager.java:215) 
at com.jaspersoft.jasperserver.war.action.DataSourceAction.testJdbcDataSource(DataSourceAction.java:482) 

有人知道如何解决这个问题吗

您需要为要连接的用户授予权限:

以显示权限进行检查

+-----------------+------------+
| Host            | User       |
+-----------------+------------+
| %               | username   |
| localhost       | username   |
+-----------------+------------+

哈哈…好的,你介意告诉我为什么吗?@pj409你是否尝试使用简单的Java代码(从服务器端)进行连接?看起来你的IP地址或端口号错误(3306是标准的,但不是强制性的),或者MySQL服务器没有运行。这就是“拒绝连接”的一般含义——这不是身份验证问题,而是一个基本的IP连接问题。使用
telnet 54.213.92.113 3306测试连接
——这将为您提供一条服务器版本的消息,如
N 5.6.10-log��LTB-YZ:�\db?PXH?EzW%mysql_native_password
如果服务器可访问(本例中,服务器为mysql 5.6.10),如果没有IP连接,则出现“连接超时”或“连接被拒绝”等错误。是的,我收到了“连接被拒绝”。这是因为MySQL服务器不允许从远程机器进行访问吗?我应该更改根权限吗?嗯…防火墙似乎也允许端口3306。