MySQL 8.0 是 MySQL 數據庫的最新版本。MySQL 8.0 的新特性包括更多的 JSON 支持,更加安全的密碼策略以及性能的提升。在應用程序中連接 MySQL 8.0 數據庫需要使用相應的數據庫驅動。
MySQL 8.0 的官方提供了 Java 連接MySQL 8.0 數據庫的驅動,即 MySQL Connector/J 。可以通過Maven 在項目中增加 MySQL 8.0 的數據庫驅動依賴。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
在使用 MySQL 8.0 的數據庫驅動時需要注意,MySQL 8.0 的默認的認證插件已經改變為 caching_sha2_password 而不是舊的 mysql_native_password。因此,在使用 MySQL 8.0 的數據庫時需要設置新的密碼認證插件,否則會報錯。
mysql> ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> FLUSH PRIVILEGES;
完成了 MySQL 8.0 數據庫設置后,就可以使用官方提供的 MySQL Connector/J 驅動連接到MySQL 8.0 數據庫了。驅動的使用方法和之前版本的mysql類似,只需要構建Connection對象即可。
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?useSSL=false&serverTimezone=UTC","username","password");