MySQL8.0.11 Community Server 與 驅動 mysql-connector-java-8.0.11.jar
1. 遇見問題
MySQL8.0.11 Community Server 與 mysql-connector-java-5.1.37.bin.jar結合使用,程式碼及配置沒有問題,但是下面程式碼無論如何都連結不上資料庫(程式碼在別人那裡可用 MySQL5.xxx 與 mysql-connector-java-5.1.37.bin.jar)
Connection connection = DriverManager.getConnection(url,username,password);
2. 發現
MySQL 8.0 開始資料庫相比常用的 5.X 版本還是有一些變化。
總結一下,想要利用 mysql-connector-java-8.xxx.jar 與 MySQL 8.X 版本建立連線,有以下四個方面與 MySQL 5.X 版本相比發生了變化。
3. 解決方式
1. 驅動的載入方式
mysql-connector-java-5.xxx.jar的載入方式
//第一種(載入兩次驅動,一般情況不會去用了)
DriverManager.registerDriver(new Driver());
//第二種
Class.forName("com.mysql.cj.jdbc.Driver");
mysql-connector-java-8.xxx.jar的載入方式
Class.forName("com.mysql.cj.jdbc.Driver");
2. MySQL 8.0 以上版本不需要建立 SSL 連線的,需要顯式關閉。還需要設定 CST->也就是設定時區。
MySQL 5.7 之前版本,安全性做的並不夠好,比如安裝時生成的root空密碼賬號、存在任何使用者都能連線上的 test 庫等,導致資料庫存在較大的安全隱患。從5.7版本開始MySQL官方對這些問題逐步進行了修復,到了 MySQL 8.0 以上版本已經不需要使用 SSL 進行連線加密了。但是高版本仍然保留了這個介面,所以需要在連線的時候手動寫明是否需要進行 SSL 連線,這裡我們手動關閉 SSL 連線加密就OK。
mysql-connector-java-5.xxx.jar的配置方式
//配置檔案
//url=jdbc:資料庫名稱(mysql/Oracle)://資料庫所在機器ip:資料庫埠/資料庫(database)
url=jdbc:mysql://localhost:3306/test
username=root
password=root
//java程式碼
Connection connection = DriverManager.getConnection(url,username,password);
mysql-connector-java-8.xxx.jar的配置方式
//配置檔案
url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
username=root
password=root
//java程式碼
Connection connection = DriverManager.getConnection(url,username,password);
Class.forName("com.mysql.cj.jdbc.Driver");
相關文章
- Community ServerUnityServer
- SQL Server驅動程式能否通用PCSQLServer
- MySQL的驅動表與被驅動表MySql
- MySQL5.7 Unable to find a match: MySQL-community-serverMySqlUnityServer
- mini2440驅動奇譚——ADC驅動與測試(動態掛載驅動)
- 將 Server Community Edition 應用程式方便地遷移到 WebSphere Application ServerServerUnityWebAPP
- laravel websocket服務 echo-server搭建(redis驅動)LaravelWebServerRedis
- 驅動篇——總結與提升
- 安卓驅動、HAL、JNI與java安卓Java
- Windows Server 2008完美安裝MySQL Community Server 5.7.16六步曲WindowsServerMySqlUnity
- Struts2的屬性驅動與模型驅動的區別模型
- 領域驅動設計與模型驅動設計的關係模型
- oracle communityOracleUnity
- 領域驅動設計(DDD)實踐之路(二):事件驅動與CQRS事件
- MySQL8.0.11 組複製配置MySql
- mysql8.0.11新特性測試MySql
- 如何SQL Server中檢視對映網路驅動器NASQLServer
- 如何理解自動化測試資料驅動與關鍵字驅動的區別?
- 驅動篇——核心空間與核心模組
- tty,串列埠,控制檯與驅動程式串列埠
- ABP與DDD領域驅動關係
- 問題驅動設計與領域驅動設計的區別 - abdullin
- 行為驅動開發(BDD)如何與領域驅動設計(DDD)結合?
- linux驅動之LED驅動Linux
- 新字元驅動框架驅動LED字元框架
- 驅動Driver-platform平臺驅動Platform
- 【linux】驅動-13-阻塞與非阻塞Linux
- Python_15 ddt驅動與日誌Python
- 使用者層與驅動層通訊
- 通過驅動建立與MySQL的連線MySql
- Android系統移植與驅動開發Android
- mongodb的java驅動與spring的整合MongoDBJavaSpring
- ASM驅動安裝與ASM盤建立(一)ASM
- ASM驅動安裝與ASM盤建立(二)ASM
- 領域驅動設計與敏捷開發敏捷
- 領域驅動設計整合與架構架構
- CI3驅動器(drivers)建立與使用
- 【驅動】串列埠驅動分析(二)-tty core串列埠