sqlldr导入date类型(数据库改系统时间的sql)
解决
一、在datasource.url中设置serverTimezone
JDBC连接MySQL 8的异常: Java.SQL.sqlexception : theservertimezonevalue ' ' isunrecognizedorrepresentsmorethahate安装了MySQL 8,同时驱动程序也更改为8.0.16
从属关系
组成员/组成员
artifactidmysql -连接器- Java/artifact标识
版本8.0.16 /版本
/从属关系
这是由于数据库和系统时区的不同导致的系统时差造成的。 在jdbc连接的url之后添加参数serverTimezone=GMT可以解决问题。 使用GMT 8时区时,需要对GMT 8进行转码并写入GMT 8。
常规Timezone设置:
在UTC、全球均衡时间GMT、格林威治标准时间北京时间(东八区)、GMT 8、url上,servertimezone=GMT 8GMT和UTC是一样的,可以认为都和英国伦敦的当地时间一样。
如果要设置datasource.url属性,请参见以下设置:
spring.data source.URL=JDBC : MySQL ://localhost /数据库? use unicode=truekldny=utf-8服务器时间区=GMT 8用户SSL=假
spring .数据源.用户名=根
spring .数据源.密码=密码
spring .数据源.驱动程序-类名称=com.MySQL.CJ.JDBC .驱动程序
新版本的mysql驱动程序是com.MySQL.CJ.JDBC .驱动程序
如果使用的是早期版本的mysql驱动程序: com.mysql.jdbc.Driver,则在启动项目时会显示以下提示。
loading class ` com.MySQL.JDBC.driver '.this is deprecated.thenewdriverclassis ` com.MySQL.CJ.JDBC.driver ' .
建议使用新版本的mysql驱动程序。
二、MySQL的时区设置
MySQL的时间戳类型数据在保存时转换为UTC时间戳,在读取时从UTC转换为本地时间戳。要显示当前全局时区和当前会话时区,请执行以下操作:
show variables like '%time_zone% ';
SELECT @@GLOBAL.time_zone,@@SESSION.time_zone;
全局时区设置:设置全局时区=' 8:00 '