SpirngBoot整合myabtis链接mysql报错 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications

  我碰到的问题是启动不报错,然后查询的时候就会报错com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure,我碰到的问题和mysql 8 小时的问题不同,mysql8小时是需要程序正常运行一段时间,我的刚运行就报错,后来查了很多资料都没用,后来自己各种试错才找出问题,问题代码如下

 正常情况下这样子链接数据库是没有问题的,但是在生产环节我们是严格区分没个系统的账号权限的,由于我在链接后面加了一条

&useSSL=true 这个参数,导致链接失效。这个参数主要是为了兼容高级版本的mysql,去掉他或者设置为false就可以了。
### Spring Boot 应用在宝塔面板部署后与 MySQL 通信失败解决方案 #### 配置文件设置 对于 `spring.datasource` 的配置项,确保其正确无误。具体来说: - **驱动类名**:应指定为 `com.mysql.cj.jdbc.Driver`。 - **数据源 URL**:需包含 IP 地址、端口号以及数据库名称,并附加必要的参数如字符集编码等。例如 `jdbc:mysql://your_ip:your_port/your_db_name?useUnicode=true&useSSL=false&serverTimezone=GMT%2B8&characterEncoding=UTF-8`[^4]。 ```properties spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://your_ip:your_port/your_db_name?useUnicode=true&useSSL=false&serverTimezone=GMT%2B8&characterEncoding=UTF-8 spring.datasource.username=你的用户名 spring.datasource.password=这里是你的密码 ``` #### 数据库连接池配置优化 适当调整 HikariCP 连接池的相关属性可以提高稳定性并减少超时错误的发生概率。比如最大活跃数 (`maximumPoolSize`) 和最小闲置数量 (`minimumIdle`) 可依据实际情况设定;同时还可以通过修改等待获取连接的最大时间(`connectionTimeout`)来适应网络状况较差的情况下的需求[^1]。 ```yaml spring: datasource: hikari: maximum-pool-size: 10 minimum-idle: 5 connection-timeout: 30000 # 单位毫秒 ``` #### 权限验证问题排查 当遇到访问被拒绝的提示时,可能是由于远程主机地址未授权给该用户造成的。此时需要登录到服务器上的 MySQL 控制台执行如下命令授予相应权限[^3]: ```sql GRANT ALL PRIVILEGES ON your_database.* TO 'username'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; ``` 另外需要注意的是防火墙规则是否允许外部设备对该端口发起请求,必要时候可以在安全组策略里开放对应的服务端口[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值