• 技术文章 >数据库 >mysql教程

    一文搞定Mysql时区错误问题

    WBOYWBOY2022-08-25 11:40:11转载644

    php入门到就业线上直播课:进入学习

    推荐学习:mysql视频教程

    今天在做项目的时候遇到一个关于mysql时区的问题,在这里汇总记录一下解决过程,希望可以帮助到有需要的人。

    问题描述

    在做项目的时候突然遇到以下的报错,可以看到是说 数据库的时区错误,这里使用的是Mysql 8.0.15数据库。

    这里试用了idea提供的数据库可视化插件。

    以下报错使得无法访问数据库。

    org.apache.ibatis.exceptions.PersistenceException: 
    ### Error querying database.  Cause: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
    ### The error may exist in StudentMapper.xml
    ### The error may involve ll.getAll
    ### The error occurred while executing a query
    ### Cause: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

    原因分析

    这里首先考虑是数据库本身的默认时区设置的问题,

    其次考虑在设置idea数据库可视化插件连接的时候的时区的设置问题

    解决方案:

    通过以下步骤解决了此问题:

    打开命令窗口,进入mysql服务:

    接着查询时区:

    show variables like "%time_zone%";

    这里显示SYSTEM表示跟随系统,一般情况下是没有问题的,但是偶尔也会出现问题,这里我们就直接更改成'+8:00'

    set global time_zone='+08:00';

    注意:这只是临时修改,重启mysql服务后就会失效

    下面介绍永久修改:
    永久的修改:修改mysql的配置文件my.ini,添加:default-time-zone=’+08:00’,重启mysql生效,注意一定要在 [mysqld] 之下加 ,否则会出现 unknown variable ‘default-time-zone=+8:00’

    接下来再去idea里面测试一下。

    发现结果还是报错,那么据考虑是idea数据库可视化插件的链接配置问题。

    接下来修改idea数据库可视化插件配置:

    在这里加上时区’+8:00’,进行测试。完美解决。

    推荐学习:mysql视频教程

    以上就是一文搞定Mysql时区错误问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除

    千万级数据并发解决方案(理论+实战):点击学习

    Mysql单表千万级数据量的查询优化与性能分析

    Mysql主从原理及其在高并发系统中的应用

    专题推荐:mysql
    上一篇:MySQL日志专项整理之redo log和undo log 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• mysql的case when怎么用• 归纳总结之MySQL数据库子查询语法规则• MySQL学习之日期函数的用法详解• 归纳整理MySQL存储过程参数的用法及说明• 什么是死锁?聊聊对MySQL死锁的理解
    1/1

    PHP中文网