mysql8.0.13jdbc驱动_JDBC_MySQL8.0.13_连接测试

前言

手贱把MySQL升级到了8.0.13,在IntelliJ IDEA中测试连接不上。因此记录一下,供个人以后参考。

系统环境

win10x64

jkd11

IDEA

MySQL 8.10.13 Community

Jar包

mysql-connector-java-8.0.14.jar

升级到最新的吧,目前最新是8.0.14

选择Platform Independent就有下载地址,可以点不注册

测试连接

package cn.wahll.test;

import java.sql.DriverManager;

import java.sql.SQLException;

public class jdbcDemo {

/* jdbc:mysql://localhost:3306/库名?useSSL=false&serverTimezone=UTC

* useSSL=false在最新版的sql需要验证,然而并没有,需要设定

* serverTimezone=UTC一个时区的设定

*/

private static String url = "jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC";

/*注意driver改了,多了 .cj */

private static String driver = "com.mysql.cj.jdbc.Driver";

/*用户名和密码*/

private static String username = "root";

private static String password = "root";

public static void main(String[] args) throws Exception {

//反射的一个过时方法,不过比较简单,不要介意,以后也是用连接池来做的

Class.forName(driver).newInstance();

System.out.println(DriverManager.getConnection(url, username, password));

}

}

常见错误及解决方式

WARN: Establishing SSL connection without server's identity verification is not recommended.

在较高版本的 Mysql 中,引入了 SSL 安全认证,需要拥有一定的安全证书去连接数据库,而我们没有证书,所以出现此警告。

解决方式:在原数据库 url 后加上禁用 SSL 的信息

private static String url = "jdbc:mysql://localhost:3306/你的库名?useSSL=false";

The new driver class is `com.mysql.cj.jdbc.Driver'

解决驱动类路径问题 , 较新版本的驱动类的包结构发生了改变,全限定名变为 com.mysql.cj.jdbc.Driver

private static String driver = "com.mysql.cj.jdbc.Driver";

The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone.

就是要设置一个时区 , 不知道为什么 , 反正就是要设置啦

要在原 url 后附加 serverTimezone=UTC

private static String url = "jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值