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

OCI环境下Apex连接MySQL失败:请求排查原因及解决方案

排查OCI环境中Apex与MySQL REST Enabled SQL连接错误的方案

核心排查方向

既然DBTools能成功连接私有端点,说明数据库本身、私有端点的网络基础配置大概率正常,问题集中在Apex侧的REST服务配置、权限或细节参数上,按以下步骤逐一验证:

1. 检查MySQL REST Enabled SQL服务状态与账号权限

  • 确认REST服务已启用:登录MySQL执行
    SELECT * FROM information_schema.ENABLED_ROLES WHERE ROLE_NAME='MYSQL_REST_SERVICE_ADMIN';
    
    若无结果,执行SET GLOBAL mysql_rest_service_enable = ON;(永久生效需修改my.cnf配置文件添加mysql_rest_service_enable=ON)。
  • 验证连接账号权限:执行
    SHOW GRANTS FOR '你的连接账号'@'Apex服务器IP/子网段';
    
    确保账号拥有MYSQL_REST_SERVICE_USER角色,若没有则执行
    GRANT MYSQL_REST_SERVICE_USER ON *.* TO '你的连接账号'@'Apex服务器IP/子网段';
    

2. 核对Apex连接配置参数

  • 端点URL格式:必须填写完整的REST路径,格式为https://<私有端点IP>:8443/api/,注意末尾的/api/不能省略。
  • 认证方式:不要用OCI IAM凭据,需选择Basic Authentication,填写拥有REST权限的MySQL账号和密码。
  • SSL配置:如果MySQL私有端点启用SSL,Apex连接时需勾选Use SSL,并将MySQL的CA证书上传到Apex的证书存储中(路径:Shared Components > Security > Certificates)。

3. 网络与安全组二次验证

  • 确认Apex服务器所在子网的安全组,允许出站访问MySQL私有端点的8443端口(REST Enabled SQL默认端口)。
  • 确认MySQL私有端点的安全组,允许入站访问Apex服务器所在子网的IP/网段访问8443端口。
  • 在Apex服务器上执行nslookup <私有端点域名>(如果用域名而非IP),确保能解析到正确的私有IP。

4. 日志与快速连通性测试

  • 查看MySQL REST服务日志(默认路径/var/log/mysql/mysql_rest.log),搜索连接失败记录,通常会给出具体错误(如认证失败、SSL握手错误)。
  • 在Apex服务器上用curl测试REST端点:
    curl -u <MySQL账号>:<密码> https://<私有端点IP>:8443/api/version
    
    返回{"version":"x.x.x"}说明REST服务正常,问题在Apex配置;返回401/403说明权限/认证错误;超时则说明网络不通。

5. Apex驱动与凭据检查

  • 确认Apex的Shared Components > Web Credentials已正确配置对应MySQL账号的凭据。
  • 检查REST Enabled SQL数据源的Driver选项是否选择MySQL,确保驱动与MySQL版本兼容。

内容的提问来源于stack exchange,提问作者Abdelrahman Mamdouh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:58:14