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

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

前提条件

建议

  • 如果您满足内网访问条件(阿里云服务器与RDS实例位于同一地域,且网络类型相同;如果都是专有网络,专有网络ID也需要相同),建议使用内网连接地址连接实例,延迟更低,稳定性更高。

  • 在数据库升级或变更操作时,公网IP可能会发生变化。若无特殊需求,建议使用连接字符串来连接数据库。

操作步骤

使用命令行连接

本文以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实例地址和端口号。查看连接详情

      说明
      • 需要先完成IP白名单设置,才能查看地址信息。

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

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

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

      RDS外网地址

      从本地设备访问RDS实例

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

    命令示例示例

    连接成功连接成功

    说明

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

使用客户端连接

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

  1. 安装MySQL Workbench。官方下载地址请参见MySQL Workbench下载页面

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

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

    连接界面

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

      场景

      需获取的RDS实例地址

      如何获取

      满足内网访问条件

      RDS内网地址

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

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

      说明
      • 需要先完成IP白名单设置,才能查看地址信息。

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

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

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

      RDS外网地址

      从本地设备访问RDS实例

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

连接失败的常见报错

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白名单

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

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

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

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。

相关文档