Ralat semasa menyambung ke pangkalan data MySQL pada Hasura Cloud
P粉296080076
2023-08-15 10:54:43
<p>我正在使用Hasura云环境。对于MySQL数据库,我正在使用MySQL Workbench并创建了一个数据库。我想在Hasura环境中使用这个数据库。MySQL服务器在端口3306上运行。
我的JDBC连接字符串是:
<code>jdbc:mysql://localhost:3306/employees?user=admin&password=password@123</code>
连接后,我得到了这个错误</p>
<pre class="brush:php;toolbar:false;">[
{
"definition": "employees",
"message": {
"stacktrace": "com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failurennThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.ntat com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)ntat com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)ntat com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)ntat com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)ntat com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)ntat com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)ntat io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:226)ntat io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:536)ntat io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:517)ntat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)ntat io.agroal.pool.util.PriorityScheduledExecutor.beforeExecute(PriorityScheduledExecutor.java:75)ntat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)ntat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)ntat java.base/java.lang.Thread.run(Thread.java:833)nCaused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failurennThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.ntat jdk.internal.reflect.GeneratedConstructorAccessor53.newInstance(Unknown Source)ntat java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)ntat java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)ntat java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)ntat com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)ntat com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)ntat com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)ntat com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)ntat com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:89)ntat com.mysql.cj.NativeSession.connect(NativeSession.java:120)ntat com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948)ntat com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818)nt... 11 morenCaused by: java.net.ConnectException: Connection refusedntat java.base/sun.nio.ch.Net.connect0(Native Method)ntat java.base/sun.nio.ch.Net.connect(Net.java:579)ntat java.base/sun.nio.ch.Net.connect(Net.java:568)ntat java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:593)ntat java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)ntat java.base/java.net.Socket.connect(Socket.java:633)ntat com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153)ntat com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63)nt... 14 moren"
},
"name": "source employees",
"reason": "Inconsistent object: Communications link failurennThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.",
"type": "source"
}
]</pre>
<p>在云环境中使用本地SQL数据库是否被允许?还是我们必须使用云上的MySQL数据库。
我有一个小疑问。密码中包含的<code>@</code>符号是否有问题!</p>
localhost
Pada Awan Hasura akan menghala ke rangkaian tempatan kontena yang berjalan di dalam infrastruktur Awan HasuraMemandangkan pangkalan data MySQL anda tidak berjalan dengan contoh enjin Hasura Cloud, anda perlu memberikan Hasura alamat pangkalan data, yang boleh dilihat dari dalam rangkaian Cloud.
Ini akan menjadi alamat IP luaran atau nama domain.