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

无法通过AWS Schema Conversion Tool连接Amazon Aurora(MySQL兼容版)

排查Amazon Aurora(MySQL兼容版)连接失败问题

从你提供的AWS SCT错误日志来看,核心报错是Communications link failure(通信链路失败),虽然你已经设置了实例公开访问、安全组入站允许任意IP的MySQL流量,但还有几个容易被忽略的关键点需要逐一排查:

1. 先验证基础网络连通性

先跳过数据库层面,直接测试本地到Aurora实例的网络可达性:

  • 用telnet命令测试端口连通性:
    telnet xxxxxxxxxxxxxxx.xxxxxx.us-east-1.rds.amazonaws.com 3306
    
    如果提示“无法打开连接”,说明本地网络到Aurora的3306端口被阻断了,常见原因:
    • 本地防火墙/杀毒软件拦截了3306端口的出站流量
    • 公司网络的出站规则限制了MySQL默认端口
    • 你的ISP屏蔽了3306端口(可以尝试把Aurora实例的端口改成非默认值,比如3307,再重新测试)

2. 检查Aurora实例的核心配置

  • 实例状态:确认AWS控制台里的Aurora实例处于**可用(Available)**状态,创建中、重启中的实例无法正常响应连接请求
  • 参数组设置:
    • 检查参数skip-networking是否为OFF(如果设为ON会直接禁用TCP/IP连接)
    • 确认bind-address是0.0.0.0(允许所有IP发起连接)
  • 公有访问开关:再次确认实例的“Publicly accessible”选项确实设为了Yes,有时候保存配置可能会出现延迟或未生效的情况,建议重新检查一遍

3. 验证数据库账号的访问权限

确保你用来连接的账号允许从任意IP访问:

  • 如果能通过其他方式(比如AWS CloudShell连接同VPC内的EC2实例,再通过EC2连接Aurora)登录数据库,执行以下命令查看账号权限:
    SELECT user, host FROM mysql.user WHERE user='你的连接用户名';
    
    如果host列不是%,说明账号被限制了特定IP,需要修改权限:
    GRANT ALL PRIVILEGES ON 你的目标数据库名.* TO '你的连接用户名'@'%';
    FLUSH PRIVILEGES;
    

4. 检查VPC与网络ACL的配置

  • 路由表:Aurora实例所在的子网必须关联了带有Internet Gateway(IGW)的路由表,否则即使开了公开访问,公网流量也无法到达实例
  • 网络ACL(NACL):NACL是无状态规则,需要同时配置入站和出站规则:
    • 入站规则允许3306端口的TCP流量(来源设为0.0.0.0/0)
    • 出站规则允许所有TCP响应流量(或者至少允许3306端口的出站流量)

5. 排除SCT工具本身的问题

试试用其他MySQL客户端连接,比如命令行工具:

mysql -h xxxxxxxxxxxxxxx.xxxxxx.us-east-1.rds.amazonaws.com -P 3306 -u 你的连接用户名 -p

如果其他工具能成功连接,那问题可能出在SCT上:

  • 确保SCT是最新版本,旧版本可能存在JDBC驱动兼容问题
  • 在SCT的JDBC URL里添加必要参数,比如useSSL=false&serverTimezone=UTC,完整URL示例:
    jdbc:mysql://xxxxxxxxxxxxxxx.xxxxxx.us-east-1.rds.amazonaws.com:3306/你的目标数据库名?useSSL=false&serverTimezone=UTC
    

你提供的错误日志:

2018-05-17 15:59:29.655 [ 87] GENERAL INFO Test connecting to Amazon Aurora (MySQL compatible) database started... 
2018-05-17 16:00:11.679 [ 87] LOADER ERROR Connection to 'jdbc:mysql://xxxxxxxxxxxxxxx.xxxxxx.us-east-1.rds.amazonaws.com:3306' wasn't established. ERROR: code: 0; message: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
2018-05-17 16:00:11.679 [ 87] GENERAL INFO Test connecting to Amazon Aurora (MySQL compatible) database finished in 0:00:42.023 sec with memory consumption of 644.93 MB (625.5 MB .. 644.93 MB). 
2018-05-17 16:00:11.679 [ 87] GENERAL INFO Test connecting to Amazon Aurora (MySQL compatible) database statistics: GENERAL: 0:00:42.023 sec 
2018-05-17 16:00:11.680 [ 18] GENERAL ERROR com.amazon.sct.dbloader.DbLoaderHandledException: Connection wasn't established. Check connection properties. java.util.concurrent.ExecutionException: com.amazon.sct.dbloader.DbLoaderHandledException: Connection wasn't established. Check connection properties. at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at com.amazon.sct.task.launcher.CommonTaskLauncher.lambda$run$0(CommonTaskLauncher.java:30) at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361) at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81) at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105) at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112) at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146) at javafx.concurrent.Task.setState(Task.java:696) at javafx.concurrent.Task$TaskCallable.lambda$call$501(Task.java:1453) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._enterNestedEventLoopImpl(Native Method) at com.sun.glass.ui.win.WinApplication._enterNestedEventLoop(WinApplication.java:218) at com.sun.glass.ui.Application.enterNestedEventLoop(Application.java:511) at com.sun.glass.ui.EventLoop.enter(EventLoop.java:107) at com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(QuantumToolkit.java:583) at javafx.stage.Stage.showAndWait(Stage.java:474) at javafx.scene.control.HeavyweightDialog.showAndWait(HeavyweightDialog.java:162) at javafx.scene.control.Dialog.showAndWait(Dialog.java:341) at com.amazon.sct.handler.CreateConnectionHandler.createConnection(CreateConnectionHandler.java:37) at com.amazon.sct.viewmodel.AppViewModel.createConnection(AppViewModel.java:1198) at com.amazon.sct.viewmodel.AppViewModel.createTargetConnection(AppViewModel.java:769) at com.amazon.sct.view.AppView.loadTarget(AppView.java:283) at com.amazon.sct.view.AppView.lambda$initConnectionMenusBindings$22(AppView.java:821) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:352) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEve

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:31:30