You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端Java连接MySQL抛出CommunicationsException连接失败问题咨询

问题根因定位

异常栈最底层报错为 java.net.SocketException: socket failed: EACCES (Permission denied),核心原因是你的安卓应用未申请网络访问权限,无法建立和MySQL服务器的socket连接。

修复步骤

1. 配置安卓网络权限

在项目的AndroidManifest.xml文件中添加网络权限声明,位置放在<manifest>标签内、<application>标签外:

<uses-permission android:name="android.permission.INTERNET" />

2. 补全JDBC连接参数

你当前使用的连接URL缺少高版本MySQL驱动必需的配置项,容易触发时区、SSL相关连接错误,建议修改为如下格式:

jdbc:mysql://xxxxxxx:3306/kospotco_DoIT?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true

3. 服务端配置检查

如果配置权限后仍无法连接,依次核对如下服务端配置:

  • 确认MySQL服务器的3306端口已开放,防火墙、安全组规则未拦截你客户端的IP访问
  • 确认MySQL服务监听地址不是127.0.0.1,否则仅支持服务器本地访问,需修改为0.0.0.0或对外服务的网卡IP
  • 确认你使用的数据库账号允许客户端IP访问,可执行如下SQL授权(替换对应账号密码):
GRANT ALL PRIVILEGES ON kospotco_DoIT.* TO 'user'@'%' IDENTIFIED BY '你的数据库密码';
FLUSH PRIVILEGES;

补充提示

生产环境不建议安卓端直连MySQL,数据库账号密码硬编码在安装包内容易被反编译泄露,建议在服务端封装HTTP接口供APP调用,降低数据安全风险。

内容的提问来源于stack exchange,提问作者PureWare -Legends Of Gaming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:06:03