MySQL8連接問題


【摘要】
之前用舊版本的MySQL直接JDBC連接沒有問題,這次想回顧下mybatis一直出現連接問題,為了排除問題,先試下JDBC連接,也會有問題,把碰到的問題記錄下。
【代碼】
代碼很簡單

import java.sql.*;

public class JDBC {

	public static void main(String[] args) {
		try {
			Connection conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql?verifyServerCertificate=false&useSSL=false&serverTimezone=UTC","root","admin123");
			System.out.println("");
		} catch (Exception e) {
			System.out.println(e);
		}
	}
}

【問題】
Wed Jul 18 10:01:50 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.
這個直接翻譯就是SSL連接的問題,MySQL5.7開始就用SSL連接,需要加配置項verifyServerCertificate=false&useSSL=false

com/mysql/jdbc/Driver : Unsupported major.minor version 52.0
jdk和驅動不匹配,把mysql-connector-java換成最新8.0.11,jdk換成1.8,解決

java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
時區的問題serverTimezone=UTC

最新版本的mysql-connector-java,也不需要手動加載驅動了,所以加載驅動的代碼,不需要了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM