使用 mysql 8.0以上报错:大多有两种错误,driver和时区错误问题

使用 mysql 8.0以上报错:大多有两种错误,driver和时区错误问题

文章目录

  • 使用 mysql 8.0以上报错:大多有两种错误,driver和时区错误问题
    • 一、mysql 8.0以上的 jdbc.properties 配置文件中driver 错误
    • 二、时区错误问题
      • 【解决方式一】--- 时区的错误,因此只要将时区设置为你当前系统时区即可
      • 【解决方式二】 --- 修改 jdbc.properties 配置
      • 【解决方式三】--- 修改my.ini配置文件(优点:永久保存设置,缺点:需重启MySQL服务)
    • 补充:自MySQL 8.0 GA版本开始支持将参数写入并且持久化:

一、mysql 8.0以上的 jdbc.properties 配置文件中driver 错误

jdbc.properties (#是注释标志,第一行最好不要写,可能会出现莫名其妙地问题,个人习惯,第一行写个注释符号)

#
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/数据库名?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
username=root
password=123456
mysql 8 之前 driver = com.mysql.jdbc.Driver  ,很明显没有cj

二、时区错误问题

【错误如下】
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.

【解决方式一】— 时区的错误,因此只要将时区设置为你当前系统时区即可

  1. 打开cmd,执行命令登录MySQL

    mysql -u root -p

  2. 执行命令:

  • 查看mysql版本
mysql> select version();      
  • 查看时区
mysql> show variables like '%time_zone%';
  • 设置时区
mysql> set time_zone='+8:00';

【截图如下】

使用 mysql 8.0以上报错:大多有两种错误,driver和时区错误问题_第1张图片

【解决方式二】 — 修改 jdbc.properties 配置

就是问题一种的 jdbc.properties 配置,将url 后面的参数加上 
serverTimezone=GMT%2B8,进行时区设置即可。

jdbc.properties

#
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/数据库名?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
username=root
password=123456

【解决方式三】— 修改my.ini配置文件(优点:永久保存设置,缺点:需重启MySQL服务)

// 方法一:使用命令(优点:不需要重启MySQL服务,缺点:一旦MySQL服务被重启,设置就会消失)
mysql> set time_zone = ‘+8:00’; mysql> set global time_zone = ‘+8:00’;
//
方法二:修改my.ini配置文件(优点:永久保存设置,缺点:需重启MySQL服务)
[mysqld]
// 设置默认时区
default-time_zone=’+8:00’

【my.ini文件在哪呢】

使用 mysql 8.0以上报错:大多有两种错误,driver和时区错误问题_第2张图片
隐藏文件
使用 mysql 8.0以上报错:大多有两种错误,driver和时区错误问题_第3张图片

重启一下mysql

==================================================================

补充:自MySQL 8.0 GA版本开始支持将参数写入并且持久化:

mysql> set persist time_zone='+0:00';

你可能感兴趣的:(JDBC,数据库)