使用DMS连接ECS自建MySQL数据库时,出现“请检查连接地址的正确性、网络畅通情况、白名单设置”的报错

问题描述

使用数据管理DMS连接ECS实例上的自建MySQL数据库时,出现“DMS与MySQL服务器无法建立连接,请检查连接地址的正确性、网络畅通情况、白名单设置后再进行重试”的报错。报错示例图如下所示:

Dingtalk_20211210105126.jpg

问题原因及解决方案

问题原因

解决方案

未启动MySQL进程。

  1. 在MySQL服务器中执行如下命令,查看是否已启动MySQL进程。

    ps -ef | grep mysql
  2. 若执行上述命令后,未出现MySQL进程,则表示MySQL进程未启动,请执行如下命令启动MySQL进程后,重新连接。

    systemctl start mysqld

ECS实例或自建MySQL服务器所在的主机开启了防火墙,限制了连接请求。

  1. 检查ECS实例或MySQL服务器的防火墙规则,确认已开放MySQL服务的端口(默认端口为3306)。

  2. 若DMS的IP地址被添加到防火墙的IP白名单中,请将其从防火墙的白名单中移除。

ECS实例安全组未对DMS开放。

将DMS的IP添加至ECS实例的安全组中。具体操作,请参见添加安全组规则

root账号设置了仅允许在本地登录MySQL服务器。

  1. 执行如下命令,检查root账号是否仅允许在本地登录服务器。

    show grants for root@'%';
  2. 若查询结果为仅允许root账号在本地登录,则可以通过执行如下命令,允许root账号在任意远程地址登录服务器。

    use mysql; update user set host = '%' where user = 'root'; FLUSH PRIVILEGES;
    说明
    • 如上命令中的'%'表示任意远程地址。为了保障您的数据安全,请根据业务需要进行设置。

    • 该问题中的root账号为数据库账号,非系统root账户。

适用于

  • 数据管理DMS