标签:因此 god The name ica mysql8 验证方式 tor span
这次新安装了一个MySQL数据库,然后navicat连接数据库一点问题没有。
但是通过Java的jdbc连接却怎么都建立不了连接。
原因是MySQL在8.0后验证方式由mysql_native_password变为caching_sha2_password,所以连接时会报这个错。
数据库用的是Mysql8版本,但工程里面mysql驱动包却是5.1.37版本。只需修改驱动包为8.0.11版本即可。
而驱动的包也由原来的:mysql-connector-java-5.1.28-bin.jar
换成了:mysql-connector-java-8.0.11.jar。
解决方法:
向项目中导入mysql-connector-java-8.0.11的jar包。
下载地址:https://dev.mysql.com/downloads/file/?id=477058
详情请见: 如何向IDEA中导入jar包(●ˇ∀ˇ●)
因此Mysql8.0连接JDBC驱动需要注意以下几点:
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true", "root", "123456");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true&serverTimezone=GMT", "root", "123456");
如果是maven引入,则需要由:
<!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.37</version> </dependency>
改为:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
在mybatis逆向工程里面配置改成如下:
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/taobao" userId="root" password="aaaaaa"> </jdbcConnection>
Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
标签:因此 god The name ica mysql8 验证方式 tor span
原文地址:https://www.cnblogs.com/doggod/p/10969713.html