问题现象: 在数据库中的日期显示正常,但是通过JSP进行调用后发现时间偏差了13个小时。经查询,此问题是由于MySQL的默认时区设置造成的。
具体排查和操作方法如下:
一、查看MySQL当前时区和时间
show variables like "%time_zone%"; #查看时区
select curtime(); #查看时间 select now(); #查看日期+时间 二、修改时区
方法1:通过修改环境变量参数来修改时区 set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区 set time_zone = '+8:00'; ##修改当前会话时区 flush privileges; #立即生效 实际操作过程中,这条修改并没有成功,显示0 row(s) affected
方法2:通过修改my.cnf配置文件来修改时区 # vim /etc/my.cnf 在[mysqld]区域中加上:default-time_zone = '+8:00' 修改完成后,需要重启启动MySQL,配置生效。 |