Java连接Mysql应该是很简单的事情,但是随着Mysql的不断升级,有些配置一定要注意,这里记录踩过的坑。。。。 1、Mysql的安装,我这里使用msi安装包进行安装,安装完会发现,data文件夹以及my.ini文件均找不到了。。。 实际上,mysql升级后(不清楚从哪个版本开始的),data文件以及my.ini默认生成在c盘的programData文件夹下,例如我的如下: 尽管我已经指定安装路径在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版本,应该是: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> 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 |
Archiver|知识站 ( 鲁ICP备20004068号-1 )
GMT+8, 2020-6-23 22:50 , Processed in 0.015801 second(s), 17 queries .