zoukankan      html  css  js  c++  java
  • JDBC以及连接池连接MySQL出现时区错误问题

    在进行MySQL连接时,出现了如下错误:

    (1)数据库时区不匹配

    (2)数据库连接请求超时

    (3)连接池出现空指针异常,获取不到connection对象

     甚至

     再后来导致测试dbutils时出现错误,怎么也获取不到connection对象,当时debug又遇到关联源码问题,对于新手来说最后没有搞懂。

    后来知道是MySQLl的jdbc驱动最新版(6.0+)时,遇到数据库和系统时区差异引起的问题

    我的MySQL版本和一系列jar包都是最新的,可能比较严格吧....

     当时了解到MySQL高版本在注册驱动时需要做更改参数

     第一次运行MySQL也按照网上教程在控制台更改了时区,没想到过了几天不好使了,看来当时设置的时区是即使生效的,导致后来的程序都出现错误。

    高版本的MySQL在连接时需要设置时区,可按照以下方法:

    1.换用低版本的jar包

    2.在URL后面加上时区参数,只要出现该URL就需要添加后面的    ?serverTimezone=UTC  ,在C3p0的配置文件中同样如此。虽然麻烦但很有效。

     3.在数据库配置中添加默认时区

      在my.cnf(linux)或者my.ini(win)配置文件[mysqld]中添加: default-time-zone = '+8:00' 然后重启数据库服务器即可。(没有试验)

      或者使用SQL语句更改时区:比较懒,自行百度吧哈哈哈哈哈哈。第一次安装时设置过,好像是一次有效的,具体不太确定。

     总结来说,高版本的MySQL在进行连接时,需要更改时区同步,否则获取不到连接对象。

    参考链接:https://blog.csdn.net/weixin_34218890/article/details/92719052

  • 相关阅读:
    POJ 3258 (NOIP2015 D2T1跳石头)
    POJ 3122 二分
    POJ 3104 二分
    POJ 1995 快速幂
    409. Longest Palindrome
    389. Find the Difference
    381. Insert Delete GetRandom O(1)
    380. Insert Delete GetRandom O(1)
    355. Design Twitter
    347. Top K Frequent Elements (sort map)
  • 原文地址:https://www.cnblogs.com/springa/p/12810979.html
Copyright © 2011-2022 走看看