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";
    
  • 相关阅读:
    避免因为Arcgis Server服务设置不当导致Oracle Process溢出的方法
    ArcSOC进程数不断增长导致oracle processes溢出原因分析
    PostgreSQL中的Toast Pointer
    SQLite中字段顺序和PAGE_SIZE对性能的影响
    PG数据库CPU和内存满负荷运转优化案
    ArcGIS Server浏览地图服务无响应原因分析说明
    PythonWeb全栈开发-虚拟环境搭建
    C 语言学习——错误处理
    C 语言学习——Valgrind 内存问题简述
    HTML学习--拖放API实现拖放排序
  • 原文地址:https://www.cnblogs.com/richardwlee/p/10304484.html
Copyright © 2011-2022 走看看