第二步:连接RDS MySQL实例

在创建RDS MySQL实例与数据库后,您需要手动连接至RDS MySQL实例管理数据或将应用服务器连接至数据库进行业务部署。本教程详细展示了如何通过DMS(数据管理服务)直接登录至MySQL数据库,或通过命令行与客户端远程连接至数据库,方便您根据自身的需求与偏好选择合适的连接与登录方式。

费用说明

  • 创建RDS MySQL实例会产生实例规格费用与存储费用,其与实例的付费方式、系列、规格、存储类型和存储空间大小等参数相关,详情请参见RDS MySQL计费项

  • 本教程所述费用不包含用于连接RDS实例的应用服务器和第三方客户端费用。

准备工作

  • 您需要先购买RDS MySQL实例,在实例中创建MySQL数据库和对应的高权限账号,详细教程请参见第一步:快捷创建RDS MySQL实例与配置数据库

    重要

    本教程中所使用的RDS MySQL实例、数据库、账号及密码等均来自教程第一步:快捷创建RDS MySQL实例与配置数据库中通过控制台方式创建与配置,您也可以根据自身需求进行修改。

  • 如果您准备通过DMS登录数据库,则无需后续的准备工作,可以直接按步骤完成登录操作。

  • 如果您准备通过命令行或客户端登录数据库,则需要预先为实例设置IP白名单,并根据访问类型获取实例对应的内网连接地址或外网连接地址,详细操作如下:

    设置IP白名单与选择合适的访问类型

    1. 设置IP白名单

    您需要将您的IP地址或应用服务器的IP地址写入RDS MySQL实例的IP白名单后才能正常访问实例,详情请参见设置IP白名单设置IP白名单后才能进行后续获取内网或外网连接地址的操作

    2. 选择合适的访问类型

    访问类型分为内网访问和外网访问,如果您符合内网访问条件,您需要使用实例的内网连接地址进行远程连接;如果您不符合内网访问条件或使用本地设备访问RDS MySQL实例,则需要使用实例的外网连接地址进行远程连接。内网访问条件与获取内外网连接地址的方法如下:

    重要

    如您需要通过内网访问实例,则需满足以下条件:

    • 使用阿里云服务器访问,且服务器与RDS实例同一地域、同一网络类型。

    • 如果服务器与实例的网络类型均为专有网络,则专有网络ID也需要相同。

    场景

    需获取的RDS实例地址

    如何获取

    满足内网访问条件

    RDS内网地址

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

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

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

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

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

    RDS外网地址

    从本地设备访问RDS实例

方法一:通过DMS登录RDS MySQL实例

数据管理DMS(Data Management)是一款支撑数据全生命周期的一站式数据管理平台,其提供全域数据资产管理、数据治理、数据库设计开发、数据集成、数据开发和数据消费等功能,同时DMS内置的数据灾备(DBS)还提供了低成本高可靠的备份恢复能力,致力于帮助企业高效、安全地挖掘数据价值,助力企业数字化转型。

您可以使用DMS快速便捷地登录RDS MySQL实例进行数据的管理与使用,无需关注实例IP白名单的设置与实例访问类型的选择。

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

  2. 单击登录数据库进入DMS登录页面。image

  3. 登录实例弹窗中,填写登录信息,并单击登录

    • 选择访问方式,本教程以账号+密码登录为例。

    • 填写数据库账号数据库密码,本教程以高权限账号dbuser和用户自定义密码为例。

    • 选择管控模式。本教程以自由操作为例。

      说明
      • 自由操作是免费的,稳定变更安全协同会收取一定费用,详情请参见管控模式计费

      • 相比于自由操作的管控模式,稳定变更安全协同提供更多的功能支持和更强的数据库管控能力,如果您是试用或体验RDS MySQL产品,建议您选择自由操作模式,详情请参见管控模式介绍

      image

  4. 查看数据库。登录成功后您可以在DMS页面左侧的已登录实例中查看新创建的数据库,本教程以db_test1数据库为例,您也可以双击其它数据库进行切换。image

    说明
    • information_schemamysqlperformance_schemasys__recycle_bin__均为系统库。

    • 如果实例存在,但实例展开后未找到目标数据库,可能是元数据未同步导致目录无法显示。请将鼠标悬浮在目标数据库所属实例上,单击实例名右侧的刷新按钮,即可刷新数据库列表,显示目标数据库。

方法二:通过命令行连接RDS MySQL实例

如果您偏向于使用服务器命令操作数据库,希望从阿里云ECS实例或本地服务器连接数据库,您可以通过命令行的方式连接RDS MySQL实例。本教程以Linux系统为例,向您展示如何使用命令行连接实例。

重要
  • 使用命令行方式连接需要提前设置实例IP白名单并根据自身需求获取对应实例连接地址

  • 您需要提前在应用服务器中安装MySQL,不同版本Linux系统安装命令如下:

    • CentOS安装MySQL命令

      sudo yum install mysql
    • Ubuntu安装MySQL命令

      sudo apt-get update
      sudo apt install mysql-server
  1. 登录到需要连接RDS实例的应用服务器。您可以从本地服务器连接,也可以登录阿里云ECS实例进行连接操作。登录ECS实例的操作请参见ECS快速入门

  2. 执行数据库连接命令,输入密码后访问RDS MySQL实例。数据库连接命令如下所示,其中h表示需要输入RDS实例连接地址,P表示需要输入RDS实例端口号,u表示需要输入用户名,p表示执行命令后需要输入密码。

    # mysql连接命令模版
    mysql -h连接地址 -P端口号 -u用户名 -p
    
    # mysql连接命令示例
    mysql -hrm-bp**************.mysql.rds.aliyuncs.com -P3306 -udbuser -p
    • 填入连接地址。您需要根据自身情况判断是否符合内网访问条件,并填入对应的实例连接地址,本教程以内网连接地址为例。如何判断内网访问条件和获取内网或外网连接地址请见准备工作

    • 填入端口号,本教程以3306端口为例。

    • 填入用户名,本教程以高权限账号dbuser为例。

    • 按下回车键,在Enter password中填入对应高权限账号密码,然后执行连接命令。

  3. 当您在命令行中看到如下信息时,说明已经成功连接RDS MySQL实例,您可以进行后续的数据库操作。image

方法三:通过客户端连接RDS MySQL实例

如果您不熟悉复杂的服务器命令,也可以通过通用的第三方客户端连接RDS MySQL实例。本教程以MySQL Workbench 8.0.29版本为例,向您详细展示如何通过客户端连接RDS MySQL实例。

重要
  • 使用客户端方式连接实例需要提前设置IP白名单并根据自身需求获取对应实例连接地址

  • 您需要提前下载并安装MySQL Workbench 8.0.29版本客户端,其官方下载地址请参见MySQL Workbench下载页面

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

  2. Connect to Database页面,填入所需的地址与账号信息。连接界面

    • 选择Connection Method,本教程以Standard(TCP/IP)为例。

    • 填写Hostname。您需要根据自身情况判断是否符合内网访问条件,并填入对应的实例连接地址,本教程以内网连接地址为例。如何判断内网访问条件和获取内网或外网连接地址请见本教程准备工作章节。

    • 填写Port,本教程端口号以3306为例。

    • 填写Username,本教程以高权限账号dbuser为例。

    • 填写Password,您需要自定义密码。

  3. 单击OK连接至RDS MySQL实例,后续您可以进行相应的数据库操作。

常见报错

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加密,可下载本教程中的版本(MySQL Workbench 8.0.29)进行常规连接。

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

  • (多数情况)RDS白名单设置错误,请参见设置IP白名单

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

Cannot Connect to Database Server

  • (多数情况)RDS白名单设置错误,请参见设置IP白名单

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

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

  • (多数情况)RDS白名单设置错误,请参见设置IP白名单

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

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

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

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的数据,要怎么操作呢?

A:您可以为函数安装第三方依赖,使用内置模块获取RDS数据,详情请参见为函数安装第三方依赖

相关文档