昨天从网上下载了一个项目源码,想在自己电脑跑起来看看,第一步就是安装项目里用到的mysql和redis,安装教程网上一大堆,就不介绍了,今天主要介绍安装完成后连接数据库遇到的一些问题,过五关斩六将。
Navicat连接MySQL出现2059 - authentication plugin ‘caching_sha2_password’
我用的数据库连接工具是Navicat,在连接Mysql的时候一直连不上,报2095:
一顿乱查后得出结果,原来MySql 8 换了新的身份验证插件(caching_sha2_password), 原来的是(mysql_native_password)。而Navicat Premium12 中找不到新的身份验证插件(caching_sha2_password),所以,我们把它还原成 mysql_native_password,即可登陆成功,具体方法如下:
首先使用 MySql 数据库自带的命令行客户端工具登录数据库
use mysql
从数据库的user表中查询 mysql 用户原来使用的身份验证插件
select user,host,plugin,authentication_string from user;
然后
alter user 'root'@'localhost' identified with mysql_native_password by '123456';
MYSQL 提示:Could not create connection to database server - java mysql connector
用mybatis-generator 生成mapper文件时,发现无法连接数据库。经过检查发现,本地MYSQL的版本时8.0.11,而本地pom.xml 文件中依赖的mysql-connector-java 的版本还是5.1.27(这种对应MYSQL 的版本是:MYSQL5 或者是MYSQL6)
解决办法:调整pom.xml 文件的mysql-connector-java. 调整MYSQL 驱动名称(注意:MYSQL8的驱动名称是:com.mysql.cj.jdbc.Driver, MYSQL8以下的驱动名称是:com.mysql.jdbc.Driver 。
解决:Caused by:com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone valu
此问题为时区问题,在 JDBC 的连接 url 部分加上 serverTimezone=UTC ,看下图。