连接数据库集群

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

前提条件

连接数据库集群

使用DMS连接集群

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

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 找到目标集群,单击集群ID。
  4. 基本信息页面右上角,单击登录数据库

  5. 在弹出的对话框中,输入PolarDB MySQL版集群中创建的数据库账号数据库密码,单击登录登录页面

    说明

    请确保登录的数据库账号拥有目标数据库的权限,否则您无法在DMS控制台左侧菜单栏中找到目标数据库。如何修改数据库账号权限,请参见管理数据库账号密码

  6. 登录DMS后请刷新页面,在左侧导航栏中,单击已登录实例

  7. 已登录实例列表中,单击目标集群名称,找到并双击目标数据库名称,即可切换到目标数据库进行管理。

    1

使用客户端连接集群

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

  1. 启动HeidiSQL客户端。

  2. 在左下角单击新建

  3. 输入要连接的PolarDB集群信息,参数说明如下:

    参数

    说明

    网络类型

    连接数据库的形式。选择MariaDB or MySQL(TCP/IP)。

    主机名/IP地址

    输入PolarDB集群的私网地址或公网地址。

    • 若您的客户端部署在ECS实例上,且ECS实例与要访问的PolarDB集群的地域、网络类型相同,请使用私网地址。例如ECS实例和PolarDB集群都是华东1(杭州)的专有网络实例,使用私网地址连接能提供安全高效的访问。

    • 其它情况只能使用公网地址。

    查看PolarDB集群连接地址的具体操作请参见查看连接地址和端口

    用户

    要访问PolarDB集群的账号名称。

    密码

    以上账号的密码。

    端口

    输入PolarDB集群的私网地址或公网地址对应的端口号(默认为3306)。

  4. 单击打开。若连接信息无误,即会成功连接集群。HeidiSQL成功连接数据库

使用命令行连接集群

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

mysql -h<连接地址> -P<端口> -u<用户名> -p<密码>

示例:

mysql -hpc-bp1867z0z*****kjd.rwlb.rds.aliyuncs.com -P3306 -uroot12 -pPass*****33

参数

说明

示例

-h

PolarDB集群的私网地址或公网地址。查看PolarDB集群连接地址的具体操作请参见查看连接地址和端口

pc-bpxxxxxxxxxxxxxx.mysql.polardb.rds.aliyuncs.com

-P

PolarDB集群的端口号。

  • 若使用私网连接,需输入PolarDB集群的私网端口。

  • 若使用公网连接,需输入PolarDB集群的公网端口。

说明
  • 默认端口为3306。

  • 如果端口号为默认端口,该参数可以不填。

3306

-u

要访问PolarDB集群的数据库账号名称。

root

-p

数据库账号的登录密码。

说明

该参数为必填参数。

  • 如果不填写该参数,在Enter password后会重新要求输入密码。

  • 如果填写该参数,-p与数据库密码之间不能有空格。

Password233

常见问题

Q:ECS实例无法连接PolarDB集群私网?

A:ECS实例连接PolarDB集群私网需要满足以下条件:

  • ECS实例与PolarDB集群位于同一地域。

  • ECS实例与PolarDB集群位于相同的网络环境。如果是VPC网络,则需要位于同一VPC下。如果ECS实例和PolarDB集群不在同一VPC下,您可以使用云企业网实现同地域VPC互通(基础版)

  • ECS实例的私网IP地址已添加至PolarDB集群白名单中。

如果PolarDB只有专有网络地址,而ECS实例是经典网络,则可以通过以下方案连接PolarDB集群私网:

  • 方案一:将ECS实例从经典网络迁移至PolarDB所在的专有网络,详情请参见ECS实例从经典网络迁移到专有网络

    说明

    如果迁移的ECS实例还需要访问其它经典网络的内网资源,则请勿执行迁移操作,否则迁移后的ECS实例将无法访问经典网络。

  • 方案二:通过ClassicLink功能实现经典网络和专有网络互通。

Q:ECS实例无法连接PolarDB集群公网?

A:请按以下步骤进行排查:

  1. 检查连接使用的连接地址、端口、账号和密码是否正确,确认无误后,检查PolarDB集群白名单是否配置正确。

  2. 将IP地址0.0.0.0/0加入到PolarDB集群白名单中,成功连接集群后,执行SHOW processlist命令获取访问源外网出口IP地址,并将其加入到集群白名单中,并删除白名单中的IP地址0.0.0.0/0

    说明

    IP地址0.0.0.0/0表示允许所有的访问源访问集群,将其设置在集群白名单中存在极大的风险,如非必要,切勿将其添加至白名单。

Q:ECS实例无法连接PolarDB集群?

A:目前,PolarDB集群支持同账号下,位于同一地域和同一VPC下的(不限可用区)ECS实例与PolarDB集群内网互通(跨账号、跨地域默认存在VPC隔离)。ECS实例无法连接PolarDB集群的常见原因如下: