zoukankan      html  css  js  c++  java
  • JDBC_MySQL8.0.13_连接测试

    前言

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

    系统环境

    1. win10x64
    2. jkd11
    3. IDEA
    4. MySQL 8.10.13 Community

    Jar包

    mysql-connector-java-8.0.14.jar

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

    [下载地址](https://dev.mysql.com/downloads/connector/j/

    选择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";
    
  • 相关阅读:
    mybatis总结
    常用问题总结
    FreeMarker学习(springmvc配置)
    Jupyter Notebook 添加目录
    Cousera 无法播放视频 解决办法 widows 和 linux
    python 列表 字典 读写文件:pickle模块的基本使用
    python numpy 使用笔记 矩阵操作
    Linux 下 将使用Python-Django开发的web应用布置到服务器上(亲测有效)
    ORACLE数据库操作基本语句
    Linux 下安装Python框架django建立与mysql的连接
  • 原文地址:https://www.cnblogs.com/richardwlee/p/10304484.html
Copyright © 2011-2022 走看看