作者 : kyle   时间 : 2018-09-06   浏览 : ...

MySQL jdbc 6.0 版本以上必须配置此参数,中国地区设置为 serverTimezone=Asia/Shanghai 即可。

查看mysql的时区信息:
show variables like '%time_zone%'

查看mysql当前时间
> select curtime();   #或select now()也可以

如果system_time_zone=CST,可能会引起时区协商有问题,请参考:一次 JDBC 与 MySQL 因 “CST” 时区协商误解导致时间差了 14 或 13 小时的排错经历

修改mysql时区
1、执行命令修改,下次重启会失效
> set global time_zone = '+8:00';  ##修改mysql全局时区为北京时间,即我们所在的东8区
> set time_zone = '+8:00';  ##修改当前会话时区
> flush privileges;  #立即生效

2、通过修改my.cnf配置修改时区
# vim /etc/my.cnf  ##在[mysqld]区域中加上
default-time_zone = '+8:00'

重启mysql生效:
service mysqld restart

PS:
SET time_zone = ‘+8:00’可以使用+8:00也可以使用Asia/Shanghai,如SET time_zone = ‘Asia/Shanghai’
+8:00指东八区,顾名思义,-7:00就是指西七区



原创文章如转载,请注明本文链接: http://www.seaxiang.com/blog/mysql_servertimezone
seaxiang  All Rights Reserved   粤ICP备15083047号-1