【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常

博主打算从0-1讲解下java进阶篇教学,今天教学第八篇:Java链接MySql数据库异常

本文主要记录下日常项目中java链接mysql异常情况,并且提供解决方案!本文会持续更新,有友友们留言的异常的话,我也会整理提供进去。谢谢大家支持!

ab643c0bbe8041e2a2e5dd4b0fcd0d8a_c93722ef1a144925bbe7d03837719e43.png

一、Communications link failure

具体报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure


Caused by: java.net.ConnectException: Connection timed out: connect

这个问题简单点说就是链接数据库失败,链接超时!

错误原因:

  1. 网络问题: 可能是由于网络不稳定或网络配置问题导致无法建立到数据库服务器的连接。
  2. 数据库服务器未启动: 如果数据库服务器未正确启动或已停止,将无法建立连接。
  3. 防火墙或网络代理问题: 防火墙或网络代理可能阻止了连接尝试,导致连接失败。


解决方案:

  1. 检查网络连接: 你可以在windows中使用cmd中,ping ip地址,如:ping 127.0.0.1,看看是否丢包,如果访问超时或者丢包则代表你访问不了这个ip地址。
  2. 确保数据库服务器运行: 你需要确保下你的windows或者是liunx服务器中mysql服务是否启动。
  3. 检查防火墙和网络代理设置: 如果你能ping通ip地址,但是telnet ip 端口号,例如:telnet 127.0.0.1 3306 不通,这个时候如果开启了防火墙,可能会导致你访问不了3306端口号,另外如果是云liunx服务器,则需要在你的云控制台中安全组或者安全策略中放行3306端口,并且查看下liunx服务器是否开启防火墙,如果没开启则不用管,开启了,则需要添加3306端口白名单。
  4. 检查数据库连接字符串: 确保数据库连接字符串配置正确,包括主机地址、端口号、用户名和密码。可以尝试手动连接数据库以确认连接参数是否正确。


二、Access denied for user

具体报错:java.sql.SQLException: Access denied for user 'root'@'122.235.136.146' (using password: YES)


错误原因:

你访问mysql数据库的账号或者密码错误。


解决方案:

确保数据库连接字符串配置正确,包括主机地址、端口号、用户名和密码。可以尝试手动连接数据库以确认连接参数是否正确。


三、javax.net.ssl.SSLHandshakeException

具体报错:Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)


错误原因:

你的链接mysql字符串中,useSSL=true。

解决方案:

将useSSL=true改成useSSL=false 即可。

例如:

jdbc:mysql://127.0.0.1:3306/bbs?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8


四、mysql8

如果你使用的是mysql8,那么驱动需要更新成8.0.x的。

驱动:com.mysql.cj.jdbc.Driver

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>

在设定时区的时候,如果设定serverTimezone=UTC,会比中国时间早8个小时,如果在中国,可以选择Asia/Shanghai或者Asia/Hongkong,或者像下面这样配置:

jdbc:mysql://127.0.0.1:3306/bbs?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8


五、待续

如果有友友们想提供异常也是可以评论留言。

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
11月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
12月前
|
NoSQL Java API
在Java环境下如何进行Redis数据库的操作
总的来说,使用Jedis在Java环境下进行Redis数据库的操作,是一种简单而高效的方法。只需要几行代码,就可以实现复杂的数据操作。同时,Jedis的API设计得非常直观,即使是初学者,也可以快速上手。
445 94
|
12月前
|
Java 关系型数据库 MySQL
Java汽车租赁系统源码(含数据库脚本)
Java汽车租赁系统源码(含数据库脚本)
430 4
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
496 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
692 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
487 17
|
前端开发 Java 关系型数据库
基于ssm的培训学校教学管理平台,附源码+数据库+论文
金旗帜文化培训学校网站项目包含管理员、教师和用户三种角色,各角色功能通过用例图展示。技术框架采用Java语言,B/S架构,前端为Vue+HTML+CSS+LayUI,后端为SSM,数据库为MySQL,运行环境为JDK8+Tomcat8.5。项目含12张数据库表,非前后端分离,支持演示视频与截图查看。购买后提供免费安装调试服务,确保顺利运行。
224 14
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
2007 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
前端开发 Java 关系型数据库
基于ssm的培训学校教学管理平台,附源码+数据库+论文
该项目为一培训学校教学管理平台,涵盖管理员、教师和学生三大功能模块。管理员可进行系统全面管理,包括学生、教师、课程等信息的增删改查;教师能管理个人中心、课程及选课信息;学生则可管理个人中心及选课信息。技术框架采用Java编程语言,基于B/S架构,前端使用Vue+HTML+JavaScript+CSS+LayUI,后端采用SSM框架,数据库为MySQL。项目运行环境为JDK8+MySQL5.7+Tomcat8.5,支持远程调试安装。演示视频与详细文档截图均提供下载链接。
|
SQL Java 关系型数据库
使用 JDBC 实现 Java 数据库操作
JDBC(Java Database Connectivity)是 Java 提供的数据库访问技术,允许通过 SQL 语句与数据库交互。本文详细介绍了 JDBC 的使用方法,包括环境准备、编程步骤和完整示例。
1168 7

推荐镜像

更多