当前位置:首页 > 后端开发 > java连接mysql数据库8.0以上版本过程中遇到的坑

java连接mysql数据库8.0以上版本过程中遇到的坑

7个月前 (05-26)40

来自:https://blog.csdn.net/u013276277/article/details/80255468

   首先,我居然不能用navicat客户端连接上mysql8.0数据库报1251错误,这个的解决方式已经在我的上一篇博客中解决了。然后我又遇到了java无法连接mysql数据库8.0的问题。

报错: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.

Wed May 09 16:25:23 CST 2018 WARN: 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.

    上面这段报错中加粗的文字很重要,她告诉你mysql8.0和之前版本的区别,首先驱动换了,不是com.mysql.jdbc.Driver而是'com.mysql.cj.jdbc.Driver',此外mysql8.0是不需要建立ssl连接的,你需要显示关闭。最后你需要设置CST。所以我们需要在之前我们熟悉的java连接数据库代码的基础之上改动以下两行代码:

            Class.forName("com.mysql.cj.jdbc.Driver");
//          Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&serverTimezone=UTC","root","password");
//            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo","root","password");

改动完了之后你就可以成功连上mysql数据库数据库8.0了。

作者:sunseeker
来源链接:https://www.cnblogs.com/bbllw/p/10663486.html

标签: Java版本

“java连接mysql数据库8.0以上版本过程中遇到的坑” 的相关文章

Java中判断集合是否相等

        工作中经常会遇到这样一个需要:写一个定时任务每隔5s监听一个接口所发送的数据并存储转发。只需要一个全局变量和一个局部变...

java基础集合简介Map(三)下

java基础集合简介Map(三)下

  --Map接口简介   今天来看一看map集合,map映射接口,用于存放键值对,<key,value>,通过key来查找value,顾名思义...

java list 判断对象是否存在

String tags=this.getPublish().getTags();        &nbs...

java 6 历代版本,Java 的版本历史与特性

java 6 历代版本,Java 的版本历史与特性

【导读】:随着 Java 9 发布日期的临近,虽然对 Java 9 中的模块化(Jigsaw)发布有点分歧中,有人担心会影响 Java 9 的正式发布,但甲骨文撂狠...

java安装及配置环境变量

java安装及配置环境变量

JDK(TM)7 64位是针对Java开发员推出的软件开发工具包,是学习Java语言的得力助手,无论是搭建jsp web开发环境,还是做android开发,都离不开JDK。主要用于移动设...

Java的多线程机制系列:(三)synchronized的同步原理

Java的多线程机制系列:(三)synchronized的同步原理

synchronized关键字是JDK5之实现锁(包括互斥性和可见性)的唯一途径(volatile关键字能保证可见性,但不能保证互斥性,详细参见后文关于vloatile的详述章节),其在...

JAVA多线程及线程状态转换

JAVA多线程及线程状态转换

以下内容整理自:http://blog.csdn.net/wtyvhreal/article/details/44176369 线程:是指进程中...

【java 多线程】多线程并发同步问题及解决方法

【java 多线程】多线程并发同步问题及解决方法

一、线程并发同步概念 线程同步其核心就在于一个“同”。所谓“同”就是协同、协助、配合,“同步”就是协同步调昨,也就是按照预定的先后顺序进行运行,即“你先,我等, 你做完,我再做”。...

【Flink】Flink基础之实现WordCount程序(Java与Scala版本)

简述 WordCount(单词计数)一直是大数据入门的经典案例,下面用java和scala实现Flink的WordCount代码; 采用IDEA + Maven + Flin...

别再说自己不会了!java多线程并发执行

别再说自己不会了!java多线程并发执行

二、回顾整理阿里面试题 基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。 自我介绍 JVM如何加载一...