本文介绍如何通过客户端、命令行连接RDS MySQL。

说明 如果控制台总提示 当前令牌已失效,请刷新页面,请更换为Chrome浏览器或升级浏览器版本后重试。

前提条件

已完成以下操作:

步骤一:确认是否满足内网访问的条件

  1. 查看 ECS 实例的地域和 网络类型 ,具体参见准备工作
  2. 查看RDS实例的地域和网络类型。
    访问 RDS实例列表,在上方选择目标实例所在地域,找到目标实例,即可看到地域、网络类型、VPC ID。 RDS实例地域和网络类型
  3. 确认是否满足内网访问的条件:
    1. ECS实例与RDS实例位于同一地域。
    2. ECS实例与RDS实例的网络类型相同。如果都是专有网络,专有网络ID也需要相同。
    说明 任意一项不满足,就无法通过内网访问RDS。

步骤二:设置IP白名单

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏选择数据安全性
  3. 确认IP白名单模式。
    说明 较早创建的实例可能采用高安全模式。新创建的实例都采用通用模式。
    图 1. 通用白名单模式
    通用白名单模式
    图 2. 高安全白名单模式
    高安全白名单模式
  4. 单击default分组右侧的 修改
    说明 如有需要,也可以单击 添加白名单分组,并自定义一个分组名称。
    单击修改
  5. 把应用服务器IP地址添加至白名单。

    添加后,该应用服务器才能访问RDS实例。

    组内白名单
    表 1. 如何获取应用服务器IP地址
    场景 需获取的IP地址 如何获取
    满足内网访问的条件(根据本文步骤一判断) ECS实例私网IP
    1. 点此打开ECS实例列表
    2. 在顶部选择实例所在地域。
    3. 在实例列表可以看到私网IP和公网IP。公私网IP
    需要通过ECS实例访问RDS实例,但不满足内网访问的条件 ECS实例公网IP
    需要通过本地设备访问RDS实例 本地设备公网IP 在本地设备,使用搜索引擎(如百度)搜索IP
    说明 该方式获取的IP地址可能不准确,准确的查询方式请参见 外网无法连接RDS MySQL或MariaDB:如何正确填写本地设备的公网IP地址
    说明
    • 多个IP地址用英文逗号隔开,且逗号前后不能有空格。
    • 单个实例最多添加1000个IP地址或IP段。如果IP地址较多,建议将零散的IP合并为IP段,例如10.10.10.0/24。
    • 如果第4步获取的白名单模式是通用模式,则无额外注意事项。如果是高安全模式,需注意
      • 公网IP经典网络 ECS实例私网IP添加至经典网络分组
      • 把专有网络ECS实例私网IP添加至专有网络分组
  6. 单击确定

步骤三:连接RDS实例

使用命令行连接

  1. 登录到需要连接RDS的服务器,比如ECS服务器或本地服务器。
    说明 登录ECS的操作请参见 ECS快速入门里的 连接ECS实例部分。
  2. 执行连接命令。
    mysql -h连接地址 -P端口 -u用户名 -p      //注意一个是大写字母P,一个是小写字母p
    • 连接地址和端口:RDS实例地址和端口。
      场景 需获取的RDS实例地址 如何获取
      满足内网访问的条件(根据本文步骤一判断) RDS内网地址
      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
      2. 单击查看连接详情,即可查看RDS实例地址和端口号。查看连接详情
      说明
      • 需要先完成IP白名单设置,才能查看地址信息。
      • 需要点击申请外网地址,才会显示外网地址。申请外网地址
      从ECS实例访问RDS实例,但不满足内网访问的条件 RDS外网地址
      从本地设备访问RDS实例
    • 用户名和密码:在RDS 账号管理 页面获取。
    图 3. 命令示例
    示例
    图 4. 连接成功
    连接成功
    说明 如果连接报错,请参见 连接失败的常见报错
使用客户端连接

可以使用任何通用的MySQL客户端连接到RDS MySQL,以MySQL Workbench为例,其它客户端的操作类似。

  1. 打开MySQL Workbench下载页面,选择操作系统后,单击Download
  2. 单击No thanks, just start my download,下载MySQL Workbench。下载workbench
  3. 安装MySQL Workbench。
  4. 打开MySQL Workbench,选择Database > Connect to Database
  5. 输入连接信息。workbench连接地址
    • HostnamePort:RDS实例地址和端口。
      场景 需获取的RDS实例地址 如何获取
      满足内网访问的条件(根据本文步骤一判断) RDS内网地址
      1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
      2. 单击查看连接详情,即可查看RDS实例地址和端口号。查看连接详情
      说明
      • 需要先完成IP白名单设置,才能查看地址信息。
      • 需要点击申请外网地址,才会显示外网地址。申请外网地址
      从ECS实例访问RDS实例,但不满足内网访问的条件 RDS外网地址
      从本地设备访问RDS实例
    • UsernamePassword:在RDS 账号管理 页面获取。

连接失败的常见报错

报错 原因和办法
mysql command not found 未安装MySQL。对于CentOS等Linux系统,可以执行yum install mysql快速安装。
Can't connect to MySQL server on 'rm-bp1xxxxxxxxxxxxxx.mysql.rds.aliyuncs.com'(10060)

Cannot Connect to Database Server

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

  • (多数情况)RDS白名单设置错误,参见设置IP白名单
  • (少数情况)不满足 内网互通的条件 ,却使用内网地址连接。
Access denied for user 'xxxxx'@'xxxxx'(using password:YES) 输入的账号密码错误。可以在RDS 账号管理 页面管理账号和密码。
Unknown MySQL server host 'xxxxxxxxx'(11001) 输入的RDS实例地址错误。正确格式为rm-xxxxxx.mysql.rds.aliyuncs.com。

相关文档