Mysql8.0.11踩过的坑

Java连接Mysql应该是很简单的事情,但是随着Mysql的不断升级,有些配置一定要注意,这里记录踩过的坑。。。。

1、Mysql的安装,我这里使用msi安装包进行安装,安装完会发现,data文件夹以及my.ini文件均找不到了。。。

实际上,mysql升级后(不清楚从哪个版本开始的),data文件以及my.ini默认生成在c盘的programData文件夹下,例如我的如下:

Mysql8.0.11踩过的坑_第1张图片

尽管我已经指定安装路径在E盘,但是这些文件仍然生成到了C盘的programData文件夹下,如果你的C盘没有programData,说明它被隐藏了,调整设置显隐藏文件夹就好。

2、客户端连接时,提示客户端版本过低(即:mysql 1521错误)

网上大部分的解决办法是使用:set password for '用户名' @ '主机名' = old_password('密码');

执行时发现old_password函数已经不支持了。。。

有效的解决办法是:https://blog.csdn.net/fanxiangru999/article/details/80726413

3、Java连接Mysql8时要注意一下几点:

    1)驱动不再是com.mysql.jdbc.Driver,正确可用的应该是:com.mysql.cj.jdbc.Driver

    2)注意项目引入的Mysql版本,应该是:


			mysql
			mysql-connector-java
			8.0.11
		

    3)如果连接仍然提示连接失败(Communications link failure),注意修改my.ini两项配置为如下:

interactive_timeout=604800
wait_timeout=604800


正文完毕~~~~~下面是我的application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/wechat?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=*****
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.max-idle=10
spring.datasource.max-wait=10000
spring.datasource.min-idle=5
spring.datasource.initial-size=5

server.port = 80
server.session.timeout=10
#防止乱码
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8


# 配置jsp文件的位置,默认位置为:src/main/webapp
spring.mvc.view.prefix=/pages/
# 配置jsp文件的后缀
spring.mvc.view.suffix=.jsp

#Mybaties
mybatis.type-aliases-package=wechatService.myb.entity
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.config-location=classpath:mybatis/mybatis-config.xml

#cache 多个用逗号分开
spring.cache.cache-names=userCache
spring.cache.jcache.config=classpath:ehcache.xml

#LOG日志
logging.level.wechatService=WARN
logging.level.wechatService.myb.mapper=DEBUG
logging.file=logs/WeChatServer.log


你可能感兴趣的:(Java,数据库)