问题现象:在数据库中的日期显示正常,可是经过JSP进行调用后发现时间误差了13个小时。经查询,此问题是因为MySQL的默认时区设置形成的。mysql
具体排查和操做方法以下:sql
1、查看MySQL当前时区和时间数据库
> show variables like "%time_zone%"; #查看时区
#time_zone说明mysql使用system的时区,system_time_zone说明system使用CST时区vim
> select curtime(); #查看时间 > select now(); #查看日期+时间
2、修改时区3d
方法1:经过修改环境变量参数来修改时区blog
> set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即咱们所在的东8区 > set time_zone = '+8:00'; ##修改当前会话时区 > flush privileges; #当即生效
实际操做过程当中,这条修改并无成功,显示0 row(s) affected class
方法2:经过修改my.cnf配置文件来修改时区变量
# vim /etc/my.cnf 在[mysqld]区域中加上:default-time_zone = '+8:00'
修改完成后,须要重启启动MySQL,配置生效。配置