通过命令行、客户端连接RDS MySQL实例

更新时间:2025-04-30 03:05:31

购买RDS MySQL实例并完成必要配置(创建账号、设置白名单)后,您就可以通过命令行、客户端连接实例。本文介绍内网连接、外网连接的方法和无法连接的常见报错。

前提条件

建议

  • 为降低延迟并提高稳定性,建议优先使用ECS内网连接RDS实例。内网连接需满足以下全部条件:

    ECSRDS实例须在同一个阿里云账号、同一地域及同一VPC下,且ECS的私网IP添加到RDS白名单

    说明

    可通过ECS实例列表查看私网IP。

    公私网IP

  • 若使用公网连接,建议通过连接字符串来连接数据库。

    说明
    • 通过curl ipinfo.io/ip(推荐)或curl ifconfig.me查询本地客户端公网IP。

    • 公网IP在数据库升级或变更操作时可能会发生变化。若已将本地IP地址添加到白名单中,但仍然无法连接请参考解决方案处理。

操作步骤

使用命令行连接
使用客户端(MySQL Workbench)连接
使用客户端(Navicat)连接

本文以Linux系统为例连接RDS MySQL实例,您需要提前安装MySQL。安装方法:

  • CentOS:执行sudo yum install mysql

  • Ubuntu:执行sudo apt-get update,并执行sudo apt install mysql-server

  1. 登录到需要连接RDS的服务器,例如ECS服务器或本地服务器。

    说明

    登录ECS的操作请参见ECS快速入门里的连接ECS实例部分。

  2. 执行连接命令。

    mysql -h连接地址 -P端口 -u用户名 -p
    说明
    • 执行命令后输入密码。

    • 大写字母P代表端口,小写字母p代表密码。

    • 连接地址和端口:RDS实例地址和端口。

      场景

      需获取的RDS实例地址

      如何获取

      满足内网连接条件

      RDS内网地址

      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

      2. 单击查看连接详情,即可查看RDS实例地址和端口号。查看连接详情

      说明
      • 需要点击开通外网地址,才会显示外网地址。

      • 对于集群系列实例,修改主节点地址需要在集群读写连接区域操作,修改备节点地址需要在集群可读连接区域操作。

      ECS实例访问RDS实例,但不满足内网访问的条件

      RDS外网地址

      从本地设备访问RDS实例

    • 用户名和密码:在RDS实例详情页账号管理页面获取。

    命令示例示例

    连接成功连接成功

    说明

    如果连接报错,请参见连接失败的常见报错

可以使用其他通用的MySQL客户端连接到RDS MySQL实例,本步骤以MySQL Workbench 8.0.29版本为例,其它客户端的操作类似。

  1. 安装MySQL Workbench

  2. 打开MySQL Workbench,选择Database > Connect to Database

  3. 输入连接信息,单击OK

    连接界面

    • HostnamePort:RDS实例地址和端口。

      场景

      需获取的RDS实例地址

      如何获取

      满足内网连接条件

      RDS内网地址

      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

      2. 单击查看连接详情,即可查看RDS实例地址和端口号。查看连接详情

      说明
      • 需要点击开通外网地址,才会显示外网地址。

      • 对于集群系列实例,修改主节点地址需要在集群读写连接区域操作,修改备节点地址需要在集群可读连接区域操作。

      ECS实例访问RDS实例,但不满足内网访问的条件

      RDS外网地址

      从本地设备访问RDS实例

    • UsernamePassword:在RDS实例详情页账号管理页面获取。

  1. 启动Navicat客户端

  2. 在左上角单击连接,选择需要连接的数据库类型。

    说明

    如果Navicat版本过低,没有阿里云菜单,可以直接选择MySQLPostgreSQL等数据库。

    创建连接

  3. 输入要连接的RDS实例信息,参数说明如下。

    连接设置

    参数

    说明

    连接名

    自定义连接名称。

    主机

    RDS实例的内网地址或外网地址

    • 如果客户端部署在ECS实例上,且ECS实例与RDS实例处于同一阿里云账号、同一地域和同一VPC,请使用内网地址。

    • 其它情况请使用外网地址。

    端口

    RDS实例的内网或外网端口。例如,MySQL默认端口为3306。

    用户名

    要访问RDS实例的账号名称。

    密码

    用户名对应的密码。

  4. 单击确定

    说明

    如果实例开启了高安全白名单模式,且需要通过公网访问,请将公网设备IP添加到高安全白名单的经典网络分组下。

    连接成功

ECS跨地域或跨账号连接RDS

  • 公网(外网)连接:可以使用RDS实例的外网连接地址,通过外网跨地域/跨账号连接,进出RDS实例的外网流量均不收费。

  • 内网(私网)连接:正常情况下,当ECSRDS在不同地域或不同账号时,无法通过内网连接(VPC互相隔离,无法互通)。但是,您可以使用VPC对等连接或云企业网,连通两个不同的VPC,使ECS可以跨地域或账号访问RDS实例。

    • VPC对等连接:支持跨地域/跨账号VPC互连,成本低,但配置复杂度相对较高,适用于少量VPC互连的简单场景。

    • 云企业网:支持跨地域/跨账号VPC互连,易配置,但成本相对较高,适用于多个VPC互连的复杂场景。

连接失败的常见报错

mysql command not found

原因是未安装MySQL。可按照如下方法快速安装:

  • CentOS:执行sudo yum install mysql

  • Ubuntu:执行sudo apt-get update,并执行sudo apt install mysql-server

SSL connection error: SSL is required but the server doesn't support it

使用部分版本的MySQL Workbench时,Standard TCP/IP连接要求必须有SSL加密,可下载本文中的版本进行常规连接。

错误码10060:Can't connect to MySQL server on 'rm-bpxxx.mysql.rds.aliyuncs.com'(10060)

  • (多数情况)RDS白名单设置问题,客户端IP地址未被添加到RDS实例的白名单中。

    解决方法:检查并正确设置IP白名单。如果是本地客户端连接,请先通过curl ipinfo.io/ip查询本地客户端外网IP加入白名单。

  • (少数情况)不满足内网连接条件,却使用内网地址连接。

    解决方法:申请外网地址并使用外网地址连接。

错误码113:Can't connect to MySQL server on 'rm-bpxxx.mysql.rds.aliyuncs.com'(113)

路由冲突。参考无法pingRDS内网地址处理方法解决。

Cannot Connect to Database Server

Your connection attempt failed for user 'xx" to the MySQL server

ping RDS内网地址时,报错Destination Host Unreachable

路由冲突。参考无法pingRDS内网地址处理方法解决。

Access denied for user 'xxx'@'xxx'(using password:YES)

输入的账号密码错误。可以在RDS账号管理页面管理账号和密码。

Unknown MySQL server host 'xxx'(11001)

输入的RDS实例地址错误。正确格式为rm-xxxxxx.mysql.rds.aliyuncs.com。

常见问题

  • Q:RDS有弹性公网IP功能吗?

    A:RDS暂无此功能。

  • Q:如何解决本地计算机使用Telnet连接云数据库失败的问题?

    A:通过Telnet连接云数据库无法成功建立连接,您可以检查以下几点:

    • 检查云数据库的服务端口是否正确,并且是否对外网开放。

    • 检查云数据库的安全组或防火墙规则,确保允许您本地的IP地址连接。

    • 检查使用的连接参数(如主机名、端口号等)是否正确。

    • 检查本地设备的防火墙规则,以确保未阻止RDS所需的端口。

    • 如果可能,尝试使用其他工具(如 mysql 命令行客户端或数据库管理工具)连接云数据库,以排除Telnet特定的问题。

  • Q:其他用户如何访问我的数据库?

    A:按照以下步骤操作:

    1. 创建普通账号并授权目标数据库。

    2. 申请外网地址

    3. 设置IP白名单(若对方使用阿里云服务ECS,可添加ECS实例的内网IP或所在安全组ID;若对方使用本地MySQL客户端,可添加其主机IP地址)。

    4. 将外网地址、数据库名称及账号密码告知对方。

    5. 使用命令行连接数据库

相关文档

  • 本页导读 (1)
  • 前提条件
  • 建议
  • 操作步骤
  • ECS跨地域或跨账号连接RDS
  • 连接失败的常见报错
  • 常见问题
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等