数据管理DMS中添加自建MySQL数据库时出现“not allowed to connect to this MySQL server”的错误
本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
问题描述
数据管理DMS中添加自建的MySQL数据库时报下列错误。
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数据库,可参考下一个方案。
记录数据管理DMS报错信息中的IP地址。
登录自建的MySQL数据库,执行下列SQL语句,对被拒绝的IP地址进行授权。
GRANT ALL PRIVILEGES ON *.* TO '[$DB_User]'@'[$Host]' IDENTIFIED BY '[$DB_Pass]' WITH GRANT OPTION;
说明[$DB_User]:自建MySQL数据库的登录用户。
[$Host]:报错信息中的IP地址。
[$DB_Pass]:自建MySQL数据库的登录密码。
该命令仅供参考,具体的权限、数据库名、用户名、IP地址等信息以实际情况为准。
执行下列SQL语句,刷新权限。
FLUSH PRIVILEGES;
在数据管理DMS中重新添加自建的MySQL数据库并进行登录。
允许所有IP地址访问在自建MySQL数据库中对登录用户进行授权,允许所有远程IP地址访问自建的MySQL。具体步骤如下。
说明该方案将允许所有IP地址通过指定用户登录自建的MySQL数据库,存在一定的安全风险,请谨慎执行。
登录自建的MySQL数据库,执行下列SQL语句,对某个MySQL用户授予所有地址的访问权限。
GRANT ALL PRIVILEGES ON *.* TO '[$DB_User]'@'%' IDENTIFIED BY '[$DB_Pass]' WITH GRANT OPTION;
执行下列SQL语句,刷新权限。
FLUSH PRIVILEGES;
在数据管理DMS中重新添加自建的MySQL数据库并进行登录。
适用于
数据管理DMS