全部产品
云市场
云游戏

数据管理DMS中添加自建的MySQL数据库时报“not allowed to connect to this MySQL server”的错误

更新时间:2020-05-11 17:18:29

免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

问题描述

数据管理DMS中添加自建的MySQL数据库时报下列错误。

  1. null,message from server:”Host x.x.x.x is not allowed to connect to this MySQL server

问题原因

数据管理DMS的IP地址不在自建MySQL数据库的授权用户表中。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

您需要先在自建MySQL数据库中对数据管理DMS的IP地址进行授权,然后重试登录。关于授权,有下列两种方案:

  • 允许单个IP地址访问
    在自建MySQL数据库中对登录用户进行授权,允许被拒绝的IP地址访问自建的MySQL。具体步骤如下。
    说明:数据管理DMS对外的IP地址定期更换,该方法仅对单个DMS的IP有效。如果需要长期使用DMS登录自建的MySQL数据库,可参考下一个方案。
    1. 记录数据管理DMS报错信息中的IP地址。
    2. 登录自建的MySQL数据库,执行下列SQL语句,对被拒绝的IP地址进行授权。
      1. GRANT ALL PRIVILEGES ON . TO ‘[$DB_User]’@’[$Host]’ IDENTIFIED BY ‘[$DB_Pass]’ WITH GRANT OPTION;
      说明
      • [$DB_User]:自建MySQL数据库的登录用户。
      • [$Host]:报错信息中的IP地址。
      • [$DB_Pass]:自建MySQL数据库的登录密码。
      • 该命令仅供参考,具体的权限、数据库名、用户名、IP地址等信息以实际情况为准。
    3. 执行下列SQL语句,刷新权限。
      1. FLUSH PRIVILEGES;
    4. 在数据管理DMS中重新添加自建的MySQL数据库并进行登录。
  • 允许所有IP地址访问
    在自建MySQL数据库中对登录用户进行授权,允许所有远程IP地址访问自建的MySQL。具体步骤如下。
    注意:该方案将允许所有IP地址通过指定用户登录自建的MySQL数据库,存在一定的安全风险,请谨慎执行。
    1. 登录自建的MySQL数据库,执行下列SQL语句,对某个MySQL用户授予所有地址的访问权限。
      1. GRANT ALL PRIVILEGES ON . TO ‘[$DB_User]’@’%’ IDENTIFIED BY ‘[$DB_Pass]’ WITH GRANT OPTION;
    2. 执行下列SQL语句,刷新权限。
      1. FLUSH PRIVILEGES;
    3. 在数据管理DMS中重新添加自建的MySQL数据库并进行登录。

适用于

  • 数据管理 DMS

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。