本文将分别介绍如何使用DMS(Data Management Service)和通用MySQL客户端连接PolarDB MySQL集群。

前提条件

已创建数据库集群的高权限账号或普通账号。具体操作请参见创建数据库账号

使用DMS连接集群

DMS是阿里云提供的图形化的数据管理工具,它是一种集数据管理、结构管理、访问安全、BI图表、数据趋势、数据轨迹、性能与优化和服务器管理于一体的数据管理服务。支持对关系型数据库(MySQL、SQL Server、PostgreSQL等)和NoSQL数据库(MongoDB、Redis等)的管理,同时还支持Linux服务器管理。

  1. 找到目标集群,单击集群ID,进入基本信息页面。
  2. 单击页面右上角的登录数据库基本信息
  3. 在数据库登录页面,输入主地址和端口号(以英文冒号隔开),以及高权限账号或普通账号的用户名和密码,然后单击登录登录页面
    说明 DMS登录仅支持主地址,不支持集群地址。关于如何查看连接地址,请参见查看连接地址

使用客户端连接集群

您可以使用任何通用的客户端连接PolarDB集群。本文以HeidiSQL为例。

  1. 启动HeidiSQL客户端。
  2. 在左下角单击新建会话窗口
  3. 输入要连接的PolarDB集群信息,参数说明如下:
    参数 说明
    网络类型 连接数据库的形式。选择MariaDB or MySQL(TCP/IP)。
    主机名/IP地址 输入PolarDB集群的私网地址或公网地址。
    • 若您的客户端部署在ECS实例上,且ECS实例与要访问的PolarDB集群的地域、网络类型相同,请使用私网地址。例如ECS实例和PolarDB集群都是华东1的专有网络实例,使用私网地址连接能提供安全高效的访问。
    • 其它情况只能使用公网地址。
    查看PolarDB集群的私网、公网地址及端口信息的步骤如下:
    1. 登录PolarDB控制台
    2. 在页面左上角,选择集群所在地域。
    3. 找到目标集群,单击集群ID。
    4. 基本信息页中,即可查看私网、公网地址及其端口信息。
    用户 要访问PolarDB集群的账号名称。
    密码 以上账号的密码。
    端口 输入PolarDB集群的私网地址或公网地址对应的端口号。
  4. 单击打开。若连接信息无误,即会成功连接集群。HeidiSQL成功连接数据库

使用命令行连接集群

如果您的服务器安装了MySQL,可以通过命令行连接PolarDB MySQL数据库集群,连接方式如下:

mysql -h<连接地址> -P<端口> -u<用户名> -p<密码> -D<数据库>
参数 说明 示例
-h PolarDB集群的私网网地址或公网地址。连接地址请参见查看连接地址 pc-bpxxxxxxxxxxxxxx.mysql.polardb.rds.aliyuncs.com
-P PolarDB集群的端口号。
  • 若使用私网连接,需输入PolarDB集群的私网端口。
  • 若使用公网连接,需输入PolarDB集群的公网端口。
说明
  • 默认端口为3306。
  • 如果端口号为默认端口,该参数可以不填。
3306
-u 要访问PolarDB集群的账号名称。 root
-p 以上账号的密码。
说明 该参数非必填参数。
  • 如果不填写该参数,后续操作中会重新要求输入密码。
  • 如果填写该参数,-p与数据库密码之间不能有空格。
password233
-D 需要登录的数据库名称。
说明
  • 该参数非必填参数。
  • 可以不输入-D仅输入数据库名称。
mysql

解决连接失败问题

  • IP白名单设置有误。
    • 由于白名单设置中只有默认地址127.0.0.1。127.0.0.1表示禁止任何IP地址访问PolarDB集群。因此需在白名单中添加对端的IP地址,具体操作请参见设置集群白名单
    • 白名单设置成了0.0.0.0,正确格式为0.0.0.0/0。
      说明 0.0.0.0/0表示允许任何设备访问PolarDB集群,请谨慎使用。
    • 您在白名单中添加的设备公网IP地址可能并非设备真正的出口IP地址。例如,公网IP地址不固定,可能会变动。或者IP地址查询工具、网站查询的公网IP地址不准确。
  • 私网、公网地址使用错误。

    使用私网地址从公网进行连接,或者使用公网地址从私网进行连接,都会导致连接失败。

    请确认您使用的地址类型。如果您需要从私网连接PolarDB集群,请使用PolarDB集群的私网地址;如果您需要从公网连接PolarDB集群,请使用PolarDB集群的公网地址。

  • 网络类型不同,ECS实例采用经典网络,PolarDB集群采用专有网络(VPC) 。
    • 解决办法一(推荐):将ECS实例从经典网络迁移到VPC,具体操作请参见单ECS迁移示例
      说明 切换后,两者必须处于同一个VPC,才能内网互通。
    • 解决办法二:使用ClassicLink功能,使经典网络的ECS实例可以和VPC中的云资源通过内网互通。
    • 解决办法三:ECS实例使用PolarDB集群的公网连接地址连接PolarDB集群,即通过公网连接PolarDB集群。这种方式的性能、安全性、稳定性较差。