问题:
数据库所在操作系统时间正常(date命令),使用“select now() from dual;”在数据库管理工具查询,显示时间亦正常(与当前时间一致),但是通过jdbc查询MySQL数据库时间(查询语句:select now() as now)比数据库查询时间快大约12小时。
解决:
在mysql数据库机器上修改,/etc/my.cnf:
default-time-zone='+08:00'
重启mysql服务,使设置生效:
service mysqld restart
附注:
下面的设置语句可使时区修改临时生效,jdbc查询数据库时间正常,但在数据库重启服务后恢复到以前的状态:
set global time_zone='+08:00'; set time_zone='+08:00';