Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题

这次新安装了一个MySQL数据库,然后navicat连接数据库一点问题没有。

但是通过Java的jdbc连接却怎么都建立不了连接。

连接MySQL会报错Unable to load authentication plugin ‘caching_sha2_password‘

原因是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驱动需要注意以下几点:

1,驱动的类换了个名字

Class.forName("com.mysql.cj.jdbc.Driver");

加上useSSL=true或false

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true", "root", "123456");

加上serverTimezone=GMT

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>

原文地址:https://www.cnblogs.com/doggod/p/10969713.html

时间: 2024-07-29 12:20:40

Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题的相关文章

【FunnyBear的Java之旅 - Spring篇】7步连接MySQL

准备工作: a) 启动MySQL服务器, 使用MySQL Workbench新建数据库 b) 下载Eclipse EE, 并安装Maven和Spring Framework插件 c) 由于默认的Maven服务器可能被墙,所以需要为Maven配置mirror server,此处不展开解释 最终的项目结构将如图所示,具体每个文件的作用将在下文中逐步介绍 第一步:在Eclipse中新建Maven project. 主要是为了方便jar的导入和项目结构的管理 第二步:导入相关jar包.修改Maven p

8.0.11版本Mysql遇到MySQL 服务无法启动的解决方法

转:https://blog.csdn.net/iyayaqiqi/article/details/80536110 系统环境:win10(1803),64位 MySQL版本:8.0.11免安装版 MySQL下载地址:https://dev.mysql.com/downloads/mysql,在下载页面往下拉,选择自己的操作系统版本和位数,然后下载即可,我下载的是下图版本. MySQL安装:上图链接MySQL是免安装版的,将MySQL解压到任意位置即可,我的解压缩后文件夹名字设置为g:\mysq

用MyEclipse10.0远程连接Mysql数据库服务器

说明:本文档所有的操作均在满足以下条件的情况下操作, A.远程Linux服务器已经安装好MySQL数据库 B.本地电脑可以ping通远程服务器 C.已经成功安装了Myeclipse 一.下载mysql-connector-java-3.1.14-bin.jar 这个是连接mysql数据库的驱动器. 下载地址: http://dev.mysql.com/downloads/connector/j/5.0.html 也可以到官方网站下载,网址如下:www.mysql.com 二.在Myeclipse

.NET Core3.0 EF 连接 MySql

一:创建项目 添加 csproj (或者直接NuGet 引用) <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.1"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; conten

mysql设置更改root密码、连接mysql、常用命令

设置.更改root用户密码 首次使用mysql会提示'该命令不在',原因是还没有将该命令加入环境变量,如果要使用该命令,需要使用其绝对路径:/usr/local/mysql/bin/mysql,为了方便,先将其加入系统环境变量. [[email protected] ~]# export PATH=$PATH:/usr/local/mysql/bin/mysql 重启系统后该变量会失效,若要永久生效,需要将其加入环境变量配置文件: [[email protected] ~]# vim /etc/

mysql 8创建远程访问用户以及连接mysql速度慢的解决方法

mysql 8创建远程访问用户 [[email protected] /]# mysql -u root -p  #登录服务器数据库 Enter password:123xxx >user mysql; >CREATE USER 'rtuser'@'%' IDENTIFIED BY '[email protected]#'; >ALTER USER 'rtuser'@'%' IDENTIFIED WITH mysql_native_password BY '[email protecte

Mysql常用命令(1) 连接Mysql数据库及修改用户密码

我还在在Linux下测试,我用的是centos,话不多说,启动控制台,输入命令: [Shell] 纯文本查看 复制代码 ? 001 mysql -h localhost -u root -p 如下图<ignore_js_op> mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 退出输入exit回车即可 修改用户密码:mysqladmin命令格式: [Plain Text] 纯文本查看 复制代码 ? 001 mysqladmin -u 用户名 -p旧密码 password

linux系统中启动mysql方式已经客户端如和连接mysql服务器

零点间的记录 一.启动方式1.使用linux命令service 启动:service mysqld start2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start3.使用 safe_mysqld 启动:safe_mysqld& 二.停止1.使用 service 启动:service mysqld stop2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop3. mysqladmin shutdown 三.重启1.使用 service

Navicat_Premium_11.0.10 连接sql server 2008R2