为什么我将我的网站放在 debian 服务器上时出现 cayenne 连接错误

Why I've a cayenne connection error when I put my web site on a debian server

我正在尝试将我的网站上线。 为此,我有一个 debian 和一个码头服务器。 当我尝试访问我的网站时,它显示了我的主页,所以,没问题。

但是,当我尝试登录时,它给我一条错误消息。

它在我的本地机器上使用此配置工作:

<?xml version="1.0" encoding="utf-8"?>
<domain project-version="6">
    <map name="datamap"/>

    <node name="datanode"
         factory="org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory"
        >
        <map-ref name="datamap"/>
        <data-source>
            <driver value="com.mysql.jdbc.Driver"/>
            <url value="jdbc:mysql://127.0.0.1:3306/database"/>
            <connectionPool min="1" max="10"/>
            <login userName="username" password="password"/>
        </data-source>
    </node>
</domain>

所以,我验证了用户名和密码没问题。我尝试使用新配置在我自己的机器上执行我的网站:

<url value="jdbc:mysql://serverip:3306/database"/>

我错过了什么?

错误信息是:

(抱歉,我正在尝试在服务器上找到可以找到码头日志的位置,我会用完整的堆栈更新它)

我应该忘记一个信息? 我确定我在服务器上 mysql 的密码和登录名。我正在使用 SSH,配置在我的 workbench 中:

我正在使用 maven,所以我在 pom.xml 中添加 mysql :

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>

我读到这可能是因为我们没有将 mysql 放在类路径中。但是,这应该行得通,不是吗?

编辑:我试过:<url value="jdbc:mysql://serverusername@serverpwd/serverip:3306/database"/>,没有成功...

编辑 2:此配置有效:

<node name="datanode"
    factory="org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory"
    schema-update-strategy="org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy">
    <map-ref name="datamap" />
    <data-source>
        <driver value="com.mysql.jdbc.Driver" />
        <url value="jdbc:mysql://127.0.0.1/database" />
        <connectionPool min="1" max="1" />
        <autoReconnect> true</autoReconnect>
        <failOverReadOnly>  false</failOverReadOnly>
        <login userName="userName" password="password" />
    </data-source>
</node>

连接可能超时。尝试将此添加到 URL:?connectTimeout=0&autoReconnect=true。为了获得更可靠的结果,请尝试使用外部连接池,例如Hikari,具有适当的重新连接属性。可以通过 ServerRuntime.builder(..).dataSource(dataSource)..

指示 Cayenne 在启动时使用外部连接池