更新时间:2025-03-10 gmt 08:00

使用mysql命令行公网连接实例-九游平台

当不满足通过内网ip地址访问rds实例的条件时,可以使用公网访问,建议单独绑定弹性公网ip连接弹性云服务器(或公网主机)与rds for mysql实例。

本章节以应用部署在linux弹性云服务器为例,介绍ssl加密公网连接rds for mysql实例。ssl连接实现了数据加密功能,具有更高的安全性。

公网连接时支持弹性公网ip或nat访问,当同时设置nat和弹性公网ip时,会优先使用弹性公网ip访问。

步骤1:购买ecs

  1. ,查看是否有弹性云服务器。
    • 有linux弹性云服务器,执行3
    • 无弹性云服务器,执行2
    图1 ecs实例
  2. 购买弹性云服务器时,选择linux操作系统,例如centos。

    由于需要在ecs下载mysql客户端,因此需要为ecs绑定弹性公网ip(eip)。

    购买linux弹性云服务器请参考《弹性云服务器用户指南》中“购买弹性云服务器”章节。

  3. 在ecs实例基本信息页,查看ecs实例的区域和vpc。
    图2 ecs基本信息
  4. 在rds for mysql实例概览页,查看rds实例的区域和vpc。
    图3 mysql概览

步骤2:测试连通性并安装mysql客户端

  1. 登录ecs实例,请参见《弹性云服务器用户指南》中“通过vnc登录linux ecs”。
  2. 在rds“实例管理”页面,单击实例名称进入“概览”页面。
  3. 选择“连接管理”,在“连接信息”模块获取实例的公网地址和数据库端口。
    图4 连接信息

    如果没有绑定公网地址,请参见绑定弹性公网ip

  4. 在ecs登录后页面,测试是否可以正常连接到在3中获取的公网地址的端口。
    curl -kv 公网地址:端口
    • 如果可以通信,说明网络正常,继续支持5
    • 如果无法通信,请检查安全组规则。
      • 查看ecs的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将rds实例的公网ip地址和端口添加到出方向规则。
        图5 ecs的安全组
      • 查看rds的安全组的入方向规则,需要将ecs实例的私有ip地址和端口添加到入方向规则,具体操作请参考设置安全组规则
  5. 选择方法一或方法二,将mysql客户端安装包导入ecs。然后执行6安装客户端。

    方法一:

    在ecs上,执行以下命令下载linux系统的mysql客户端安装包,该方式需要为ecs绑定eip。
    • 8.0版本:
      wget https://dev.mysql.com/get/mysql-community-client-8.0.28-1.el6.x86_64.rpm
    • 5.7版本:
      wget https://dev.mysql.com/get/mysql-community-client-5.7.38-1.el6.x86_64.rpm

    建议您下载的mysql客户端版本高于已创建的rds实例中数据库版本。

    方法二:

    在浏览器下载linux系统的mysql客户端安装包,然后将安装包上传到ecs。

    您可以使用任何终端连接工具(如winscp、putty等工具)将安装包上传至ecs。

    • 8.0版本:

      打开,以mysql-community-client-8.0.28-1.el6.x86_64.rpm为例,下载安装包。

      图6 下载mysql 8.0安装包
    • 5.7版本:

      打开,以mysql-community-client-5.7.38-1.el6.x86_64.rpm为例,下载安装包。

      图7 下载mysql 5.7安装包

    建议您下载的mysql客户端版本高于已创建的rds实例中数据库版本。

  6. 执行以下命令安装mysql客户端。
    • 8.0版本:
      rpm -ivh --nodeps mysql-community-client-8.0.28-1.el6.x86_64.rpm
    • 5.7版本:
      rpm -ivh --nodeps mysql-community-client-5.7.38-1.el6.x86_64.rpm
    • 如果安装过程中报conflicts,可增加replacefiles参数重新安装,如下:
      rpm -ivh --replacefiles mysql-community-client-安装包版本号-1.el6.x86_64.rpm
    • 如果安装过程中提示需要安装依赖包,可增加nodeps参数重新安装,如下:
      rpm -ivh --nodeps mysql-community-client-安装包版本号-1.el6.x86_64.rpm

步骤3:使用命令行连接实例(ssl加密)

  1. 在rds“实例管理”页面,单击实例名称进入“概览”页面。
  2. “ssl”处,查看ssl开启状态。
    • ssl打开,执行3
    • ssl关闭,单击“开启”,弹出框中,单击“确定”,开启ssl加密。然后执行3
  3. 单击“ssl”处的“下载”,下载“certificate download”压缩包,解压后获取根证书(ca.pem)和捆绑包(ca-bundle.pem)。
  4. 将根证书(ca.pem)上传到ecs。
    • 云数据库rds服务在2017年4月提供了20年有效期的新根证书,该证书在实例重启后生效。请在原有根证书到期前及时更换正规机构颁发的证书,提高系统安全性。

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

    • 推荐使用tls v1.2及以上协议,低于该版本可能存在安全风险。
    • 根证书捆绑包(ca-bundle.pem)包含2017年4月之后的新根证书和原有根证书。
    • ca.pem和ca-bundle.pem都可以实现ssl连接,ca-bundle.pem文件包含ca.pem,使用ca.pem即可。
    • rds for mysql实例不支持x509认证方式。
  5. 在ecs上执行以下命令连接rds for mysql实例。
    mysql -h <host> -p  -u <username> -p --ssl-ca=<caname>

    示例:

    mysql -h 172.16.0.31 -p 3306 -u root -p --ssl-ca=ca.pem
    表1 参数说明

    参数

    说明

    <host>

    公网地址或公网域名,在3中获取。

    说明:

    使用公网域名连接实例,需要先申请公网域名,详见申请和修改公网域名

    公网域名生成后,修改公网地址将会导致数据库连接中断,请谨慎操作。

    数据库端口,在3中获取。默认3306。

    <username>

    管理员账号root。

    <caname>

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

  6. 出现如下提示时,输入数据库账号对应的密码:
    enter password:
    图8 连接成功

后续操作

登录实例后,您可以创建数据库,进行数据迁移等操作,具体请参见:

相关文档

网站地图