1. 程式人生 > >專案從MYSQL5.6切換MYSQL 8.0隨手記

專案從MYSQL5.6切換MYSQL 8.0隨手記

  1. 切換MYSQL驅動包:

    由com.mysql.jdbc.Driver 切換到com.mysql.cj.jdbc.Driver,目前我使用的是最新版本
    maven配置:

    	<dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.12</version>
          </dependency>
    
  2. 資料庫連線地址一定要顯示指定SSL驗證為false(如果有驗證就指定為true),MYSQL8.0預設SSL使用驗證:useSSL=false

    jdbc_url=jdbc:mysql://localhost:3306/xxxx?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
    
  3. 切換hibernate方言以前為org.hibernate.dialect.MySQLDialect切換

    mysql_dialect=org.hibernate.dialect.MySQL8Dialectorg.hibernate.dialect.MySQL8Dialect
    

    注意這裡切換hibernate版本。之前用的hibernate4,不存在這個方言,也就是說不支援MYSQL8.0.切換到hibernate5以後沒有問題

  4. 資料庫地址一定要顯示指定資料庫時區serverTimezone=UTC否則會報錯

  5. 如果封裝注入是使用hibernateTemplate切換到Hibernate5的版本修改pom,org.springframework.data版本

    		<dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-jpa</artifactId>
                <version>2.0.8.RELEASE</version>
        	</dependency>
    

本來只是想測試一下jwt結果被重灌電腦後得mysql坑了…隨手記一下,早晚會切換到這個版本的吧。注意切換版本時Spring 相關版本儘量保持一致不要動,雖然一般搭建後沒啥問題,需要注意一下,不然可能出現各種找不到方法,找不到類的奇怪報錯。