SpringBoot CRUD操作运行报错:通信链路故障问题求助
解决SpringBoot CRUD启动时MySQL通信链接失败问题
遇到com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure错误,可按以下步骤排查解决:
检查MySQL服务状态
确认MySQL服务是否正常运行:- Windows:打开
services.msc,找到MySQL服务,确认状态为“正在运行”,未启动则右键启动 - Linux:执行命令
systemctl status mysql查看状态,未启动则用systemctl start mysql启动
- Windows:打开
核对数据库连接配置
检查application.properties或application.yml中的连接参数:- 驱动类:MySQL 8.x版本需使用
com.mysql.cj.jdbc.Driver,5.x版本用com.mysql.jdbc.Driver - 连接URL:MySQL 8.x必须指定时区,示例格式:
jdbc:mysql://localhost:3306/your_db?serverTimezone=UTC&useSSL=false,注意端口(默认3306)、数据库名称是否正确 - 用户名和密码:确认与MySQL账号完全匹配,无拼写错误
- 驱动类:MySQL 8.x版本需使用
排查防火墙/网络限制
- 若连接远程MySQL,检查服务器防火墙是否开放3306端口;本地环境则确认本地防火墙未拦截该端口
- 用
telnet 数据库IP 3306或ping 数据库IP测试网络连通性,确保应用能访问数据库服务器
验证版本兼容性
确保项目依赖的mysql-connector版本与MySQL服务器版本匹配:- MySQL 8.x对应connector 8.x版本,MySQL 5.x对应connector 5.x版本,避免因协议不兼容导致连接失败
检查数据库账号权限
确认数据库账号允许从应用所在IP访问:
登录MySQL执行命令:GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'%' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES;其中
%表示允许所有IP访问,也可指定具体IP地址
内容的提问来源于stack exchange,提问作者Rajan
相关产品推荐
相关产品推荐

