mysql数据库连接异常处理

在学习SSM的mybatis框架时,连接数据库出现了以下报错:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

即:客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端
首先进入了mysql insatller community搞了一下跟新,在经过一个多小时的更新操作后,发现数据库还是连接不上
在这里插入图片描述
我看了一下我的xml文件的配置:

<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/baidu/>
			<property name="username" value="root" />
			<property name="password" value="password" />

我的mysql是8.0版本,发现驱动不满足当前版本,跟改为:

继续运行程序,就可以正常连接,读取数据了

第二种情况

在使用spring整合jdbc时,连接池如下(mysql8.0)

		ComboPooledDataSource dataSource = new ComboPooledDataSource();
		dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
		dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/spring_day3?serverTimezone=UTC");
		dataSource.setUser("root");
		dataSource.setPassword("jzb19981128");
	

之前在学习mybatis框架时使用了jdbcUrl(后跟了一系列)可以正常连接,但是在这里一致报错

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; 
nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
无法获取JDBC连接;嵌套异常为java.sql.SQLException异常:无法从基础数据库获取连接!

经过各种百度,文章的查找,终于发现是jdbcUrl后缀出现的问题,将其改成下面这样子就可以正常连接数据库

dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/spring_day3?useSSL=false&serverTimezone=GMT" +"&allowPublicKeyRetrieval=true");

发现是serverTimezone的问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值