使用Mysql和IntelliJ IDEA java项目进行数据库连接时出现问题
我使用intelliJ和MySQL用java构建了一个应用程序。我犯了如下错误
“服务器时区值“××åìåñÞþñáGTB”无法识别或表示多个时区。如果要利用时区支持,必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值。”
我尝试使用jdbc:mysql://localhost:3306/schooldb?useLegacyDatetimeCode=false&serverTimezone=UTC而不是jdbc:mysql://localhost:3306/schooldb但问题依然存在
我使用mysql-connector-java-8.0.15
我的代码是
public class Database {
private MysqlDataSource dataSource;
private Connection con;
public Database(){
dataSource = new MysqlDataSource();
dataSource.setServerName("localhost");
dataSource.setDatabaseName("schooldb");
try{
con = dataSource.getConnection("tei", "cangetin");
}catch(SQLException e){
e.printStackTrace();
}
}
protected void finalize() throws Throwable{
super.finalize();
con.close();
}
}
及
Database db = new Database();
有人能帮我吗
# 1 楼答案
你可以像下面的代码一样使用
MysqlDataSource.setServerTimezone
。通过将系统区域设置(在Windows上)设置为与英语不同的内容(并重新启动MySQL),我用mysql-connector-java:8.0.18
重现了异常,编辑解决了连接问题奇怪的时区来自MySQL服务器配置。如果执行SQL:
然后你会发现变量
system_time_zone
有一个奇怪的值。最终,您可以编辑my.ini
文件中的设置: