问题原因:
1、此问题出现的原因就是你使用的的mysql连接和数据库版本,以及驱动不匹配
问题场景:
本地mysql版本:5.0.10
yml配置:
datasource:
name: companyserach #数据库名
url: jdbc:mysql://127.0.0.1:3306/companyserach
username: root #用户名
password: root #密码
driver-class-name: com.mysql.cj.jdbc.Driver
问题解决思路:
从网上搜索CLIENT_PLUGIN_AUTH is required关键词,大概意思是版本不匹配。
因此开始换版本之路,和之前的可以运行的版本进行了比较,
观察mysql相关的jar包
mysql-connector-java 发现版本是8.0.2的版本比我之前可以运行的版本高,之前版本是5.1.10版本,查看pom.xml文件。发现配置如下:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
此处要注意,配置版本不能修改scope值,而是要修改version值,否则你解决一天都不可能解决这个问题
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.10</version>
</dependency>
改完之后发现com.mysql.cj.jdbc.Driver驱动无法使用
继续解决,经过查询资料发现com.mysql.cj.jdbc.Driver是在高版本中提供的,而在低版本中只能使用
com.mysql.jdbc.Driver
最终解决
总结:
这个问题最终是因为我从网上动态生成SpringBoot项目导致数据库和框架不一致。因此我们除了要掌握如何通过工具去动态集成SpringBoot之外,我们更应该掌握每一个细节。