如何通过连接字符串告诉mysql时区?

如何通过连接字符串告诉mysql时区?,mysql,timezone,Mysql,Timezone,由于某些原因,我在尝试启动java应用程序时遇到此错误 java.sql.SQLException:服务器时区值'AEDT'为 无法识别或表示多个时区。您必须配置 服务器或JDBC驱动程序(通过serverTimezone配置 属性),如果要利用 时区支持 我希望能够更改连接字符串上的时区。到目前为止,我试过: javax.persistence.jdbc.url“ value=“jdbc:mysql://localhost:3306/returnit?useLegacyDatetimeCode

由于某些原因,我在尝试启动java应用程序时遇到此错误

java.sql.SQLException:服务器时区值'AEDT'为 无法识别或表示多个时区。您必须配置 服务器或JDBC驱动程序(通过serverTimezone配置 属性),如果要利用 时区支持

我希望能够更改连接字符串上的时区。到目前为止,我试过:

javax.persistence.jdbc.url“ value=“jdbc:mysql://localhost:3306/returnit?useLegacyDatetimeCode=false&serverTimezone=UTC"

这是:

javax.persistence.jdbc.url“ value=“jdbc:mysql://localhost:3306/returnit?useLegacyDatetimeCode=false&serverTimezone=Australia/Sydney"

但出于某种原因,mysql没有选择时区,仍然抱怨AEDT

Mysql连接器版本为6.0.6 我在MacOS中运行的系统 Mysql版本是

问题:知道如何通过连接字符串设置serverTimezone吗


非常感谢

这是一个指定serverTimezone的连接字符串示例:

"jdbc:mysql://localhost:3306/returnit?useSSL=false&useUnicode=true&serverTimezone=UTC"

这里有一个类似的问题:@sudip yes我想通过连接字符串设置时区。链接中的一个可能的解决方案,但不起作用您想在mysql服务器中设置serverTimezone属性,而不是将时区作为connectionString的一部分传递,对吗?这个解决方案不适合你吗?@sudip我想告诉mysql连接字符串中的时区。我建议不要在数据库配置中这样做
AEDT
不是时区id。我猜您想通过
Australia/Sydney
。看,我们项目的名字不是“returnit”吗?它不适合我,我的url是“jdbc:mysql://localhost:3306/PhoneCompany“删除“amp”和“;”字符并将名称更改为数据库名称:jdbc:mysql://localhost:3306/YOUR_DB?useSSL=false&useUnicode=true&serverTimezone=UTC