高版本MySQL(5.7,5.8)的JDBC连接新问题

在使用JDBC连接访问MySQL时一般要使用对应版本的驱动。 比如我使用了8.0.11版本的MySQL,对应驱动的Maven描述为:

1 <dependency>
2     <groupId>mysql</groupId>
3     <artifactId>mysql-connector-java</artifactId>
4     <version>8.0.11</version>
5 </dependency>

然后遇到了驱动问题、SSL安全访问的问题和时区问题。
报错1:

Loading class `com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver‘. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

高版本的驱动已经由:

1 "com.mysql.jdbc.Driver"

变更为:

1 private static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver";

报错2:

1 Establishing SSL connection without server‘s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn‘t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false‘. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2 创建连接失败,查看控制台异常信息

这个是安全连接的问题,在sql连接字符串中,添加关于不使用SSL访问数据数据库的说明:useSSL=false。

报错3:

1 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.

这个是时区问题,在访问字符串中添加关于时区的设置说明:serverTimezone=UTC。

完整的数据库访问字符串为:

1 private static final String DB_URL = "jdbc:mysql://localhost:3306/jdbc_example?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";

原文地址:https://www.cnblogs.com/maigy/p/11517881.html

时间: 2024-11-23 11:39:57

高版本MySQL(5.7,5.8)的JDBC连接新问题的相关文章

Mysql、Oracle、SqlServer的JDBC连接实现和对比(提供驱动包)

首先,我们需要准备数据库连接所需的jar包.目前mysql的驱动包可能比较好找,但是oracle和sqlserver的有很多,要找到能用的要花一点点心思,这里直接把下载地址和版本发送出来. Mysql: 驱动程序包:mysql-connector-java-5.1.38.jar 下载地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38     驱动:com.mysql.jdbc.driver     url:

Crystal Reports 2008(水晶报表) JDBC连接mysql数据库

在本blog中,主要介绍的是Crystal Reports 2008使用JDBC连接mysql数据库. 在连接之间,首先要确认你电脑上面都安装了mysql数据库. 其次,就是jdbc连接数据时候所使用的相关jar包. 接下来,就可以进行数据库的一些连接操作了. 对JDBC不是很了解的,可以到 完整java开发中JDBC连接数据库代码和步骤 了解相关的操作 1.打开Crystal Reports的数据专家 2.点击JDBC(JNDI)出现: 3.输入url和数据库类名,点击下一步: 4.输入pas

phpMyAdmin - 错误 您应升级到 MySQL 5.5.0 或更高版本,解决办法。。。

折腾自己的个人网站,装了个数据库管理工具,遇到您应升级到 MySQL 5.5.0 或更高版本... 采用降级phpmyadmin版本的方法解决了: 查找phpmyadmin/libraries/common.inc.php #查找 if (PMA_MYSQL_INT_VERSION < 50500) { #更换为 if (PMA_MYSQL_INT_VERSION < 50100) { ok!搞定

《高可用MySQL》读书笔记1 – Windows环境下压缩版MySQL安装

近日在读O'REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容.Master-Slave这东西吧,在许多公司都是标配,开发中基本天天都用,遇到的问题自然也不少(如主从不同步,Master宕机),但操作权限非常有限.有些东西,只有自己看了.做了,才能真正知道原理是什么,也才能更好的去把握. 本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程. 1. 从官

《高可用MySQL》读书笔记2 – 单机版MySQL主从配置

这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置master服务器 配置slave服务器 将slave连接到master 在配置完成之后,我们会做一个简单的测试,测试复制是否正常. 本文所涉及的master和slave服务器均位于同一台单机上,使用不同的端口号区分,基本的环境为:Window 7 旗舰版 32位,MySQL的版本为5.6.21 .上一

MMM高可用MySQL服务集群解决方案

MMM高可用方案简介 MMM(Master-Master Replication Manager for MySQL)主主复制管理器,是一套提供了MySQL主主复制配置的监控.故障迁移和管理的可伸缩的脚本程序.在MMM高可用解决方案中,可以配置双主多从架构,通过MySQL Replication技术可以实现两台MySQL服务器互为主从,并且在任何时候只有一个节点可以写入,避免多节点写入的数据冲突,同时,当可写节点故障时,MMM套件可以立即监控到,然后将服务自动切换到另一个主节点继续提供服务,从而

相信很多朋友遇到过网站换服务器的问题,或成功或失败!今天3A网络小钱给大家讲的是自己的一个亲身经历,原先小钱有一个网站是在linux服务器上运行,所用的web服务为nginx+mysql+php,但由于服务器到期,新服务器用的是win2008系统,那就需要只能做好迁移! 前期做的准备 1、必须了解自己网站所用的PHP和MySQL的版本 2、网站大小

相信很多朋友遇到过网站换服务器的问题,或成功或失败!今天3A网络小钱给大家讲的是自己的一个亲身经历,原先小钱有一个网站是在linux服务器上运行,所用的web服务为nginx+mysql+php,但由于服务器到期,新服务器用的是win2008系统,那就需要只能做好迁移! 前期做的准备 1.必须了解自己网站所用的PHP和MySQL的版本 2.网站大小 3.数据库大小 由于网站过于巨大90G,而linux服务器上磁盘空间不够无法压缩,最后我选择的办法是使用FTP传,没想到什么好办法. 网站的数据库大

centos6.4更新yum源来搭建高版本lamp环境

服务器使用centos6的话,使用yum方式搭建lamp环境,可能会面临软件版本过低的问题,这时可以选择新的yum源(这里选择的是Webtatic EL6 YUM源),然后选择安装较高版本的mysql.php等软件. 步骤一:更新yum源 1.执行以下命令更新yum源为Webtatic EL6 YUM源: rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm 步骤二:查看yum源中软件包可以下载安装的版本 1.查看可以安装的php版本,如: y

php高版本不再使用mysql_connect()来连接数据库

想用php生成一个mysql数据字典导出来,用到下面代码会 $mysql_conn = mysql_connect ( "$dbserver", "$dbusername", "$dbpassword" ) or die ( "Mysql connect is error." ); 在php5.5.12版本运行会提示 Deprecated: mysql_connect(): The mysql extension is dep