更新时间:2024-04-13 GMT+08:00

通过公网连接RDS for MySQL实例

RDS for MySQL提供Windows操作系统和Linux操作系统下通过MySQL客户端连接实例的方法。

操作场景

通过公网连接RDS实例的场景如下:

  • VPC中的RDS实例被不同VPC中的弹性云服务器访问。
  • VPC中的RDS实例被公共网络中的服务器访问。

前提条件

  1. 创建并登录弹性云服务器
  2. 对目标RDS实例绑定弹性公网IP并设置安全组规则
    1. 对目标RDS实例绑定弹性公网IP

      关于如何绑定弹性公网IP,请参见绑定弹性公网IP

    2. 获取服务器的IP地址。
    3. 设置安全组规则。

      2.b中获取的IP地址及目标RDS实例的端口加入RDS实例安全组允许访问的范围中。

      关于如何设置安全组规则,请参见设置安全组规则章节。

    4. 使用ping命令连通2.a中绑定的弹性公网IP,确保本地设备可以访问该弹性公网IP
  3. 使用客户端连接实例
    • Windows操作系统中,您可以使用任何通用的数据库客户端连接到RDS实例且连接方法类似。

      MySQL-Front为例,具体操作请参见使用MySQL-Front连接实例

    • Linux操作系统中,您需要在弹性云服务器上安装MySQL客户端。建议您下载的MySQL客户端版本高于已创建的RDS实例中数据库版本。

      如何获取相应安装包及完成安装,请参见如何安装MySQL客户端

使用MySQL-Front连接实例

  1. 启动MySQL-Front客户端。
  2. 在连接管理对话框中,单击“新建”

    图1 连接管理

  3. 输入需要连接的云数据库RDS实例信息,然后单击“确定”。如图2所示。

    图2 添加信息
    表1 参数说明

    参数

    说明

    名称

    连接数据库的任务名称。如果不填写,系统默认与Host一致。

    主机

    目标实例的公网地址。绑定弹性公网IP请参考绑定弹性公网IP

    端口

    输入RDS实例的数据库端口。

    用户

    需要访问RDS实例的账号名称。默认root。

    密码

    要访问云数据库RDS实例的账号所对应的密码。

  4. 在打开登录信息窗口,选中图3创建的连接,单击“打开”,如下图所示。

    如果连接信息无误,即会成功连接实例。
    图3 打开登录信息

    如果连接失败,请确保各项前提条件正确配置后,重新尝试连接。

SSL连接(推荐)

  1. 登录管理控制台。
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 选择数据库 > 关系型数据库。进入关系型数据库信息页面。
  4. “实例管理”页面,单击实例名称进入“基本信息”页面。
  5. “数据库信息”模块的“SSL”处,查看SSL开关状态。

    • 开关打开,执行6
    • 开关关闭,单击,在弹出框中,单击“是”,开启SSL加密。然后执行6

  6. 单击“SSL”处的,下载根证书或捆绑包。
  7. 登录Linux操作系统的弹性云服务器
  8. 将根证书导入弹性云服务器

    您可以使用任何终端连接工具(如WinSCP、PuTTY等工具)将证书上传至Linux系统任一目录下。

    • 云数据库RDS服务在2017年4月提供了20年有效期的新根证书,该证书在实例重启后生效。请在原有根证书到期前及时更换正规机构颁发的证书,提高系统安全性。

      请参见如何确认SSL根证书的有效期

    • 云数据库RDS服务还提供根证书捆绑包下载,其中包含2017年4月之后的新根证书和原有根证书。

  9. 弹性云服务器上,连接云数据库RDS实例。

    • 方式一

      mysql -h <host> -P <port> -u <userName> -p --ssl-ca=<caName>

    • 方式二
      mysql -h <host> -P <port> -u <userName> -p --ssl-capath=<caPath>
      表2 参数说明

      参数

      说明

      <host>

      目标实例的弹性公网IP

      <port>

      目标实例的数据库端口。

      <userName>

      用户名,即云数据库RDS账号(默认管理员账号为root)。

      <caName>

      CA证书名称,该文件需放在执行该命令的路径下。

      <caPath>

      CA证书目录路径。

    使用root用户SSL连接数据库实例,示例如下:

    mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=ca.pem

    出现如下提示时,输入数据库账号对应的密码:

    Enter password:

    如果连接失败,请确保各项前提条件正确配置后,重新尝试连接。

非SSL连接

  1. 登录管理控制台。
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 选择数据库 > 关系型数据库。进入关系型数据库信息页面。
  4. “实例管理”页面,单击实例名称进入“基本信息”页面。
  5. “数据库信息”模块的“SSL”处,查看SSL开关状态。

    • 开关打开,单击,在弹出框中,单击“是”,关闭SSL加密。然后执行7
    • 开关关闭,执行7

  6. 登录Linux操作系统的弹性云服务器
  7. 弹性云服务器上,连接关系型数据库实例。

    mysql -h <host> -P <port> -u <userName> -p
    表3 参数说明

    参数

    说明

    <host>

    目标实例的弹性公网IP。

    <port>

    目标实例的数据库端口。

    <userName>

    用户名,即关系型数据库账号(默认管理员账号为root)。

    使用root用户非SSL连接数据库实例,示例如下:

    mysql -h 172.16.0.31 -P 3306 -u root -p

    出现如下提示时,输入数据库账号对应的密码:

    Enter password:

    如果连接失败,请确保各项前提条件正确配置后,重新尝试连接。