当在MySQL+JDBC出现报错: com.mysql.cj.jdbc.exceptions.CommunicationsException
1. 查看MySQL的版本。
不同的MySQL版本下的配置是不同的。 如我在本地的MySQL版本为:5.7.27
这时候的配置应为:
spring.datasource.url=jdbc:mysql://localhost:3306/xxx?useSSL=false
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
我在云服务器的MySQL版本为:8.0.26 这时候的配置应为:
spring.datasource.url=jdbc:mysql://localhost:3306/xxx?characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
2. 查看MySQL服务是否启动
输入mysql 启动mysql:
service mysqld start
3. 检查JDBC url中的地址是否正确
如若MySQL数据库和项目都运行在本机,应为localhost。若数据库在其他机器上,检查从本机到其他机器是否能ping通。 (我当初就是在将项目部署到服务器的时候,跟着某个视频将localhost改成了服务器的地址,导致一直连接不上。。。)
4. 检查JDBC url中的端口号是否错误或缺失
默认端口号为3306。
5. 数据库服务器不接受TCP/IP连接
6. 数据库服务器断连
7. Java和数据库之间存在诸如防火墙、代理之类的阻碍
参考: https://stackoverflow.com/questions/2983248/com-mysql-jdbc-exceptions-jdbc4-communicationsexception-communications-link-fai
|