开发者社区 问答 正文

添加自建MySQL提示错误“not allowed to connect to this MySQL server“(数据管理DMS)


数据管理中添加自建的MySQL数据库时,提示错误“not allowed to connect to this MySQL server“。


MySQL默认只允许本机进行连接,不允许远程IP进行登录,所以会提示这个错误。

解决方法:
1、根据提示信息,把提示拒绝连接的IP 121.43.18.66 (IP地址以实际控制台提示的为准),在自建MySQL中进行授权,允许远程连接。
登录数据库,执行授权命令:
GRANT ALL PRIVILEGES ON . TO ‘root’@’121.43.18.66’ IDENTIFIED BY ‘密码’  WITH GRANT OPTION;
flush privileges;



授权IP远程连接后,重新在数据管理中,添加数据库,可以正常添加成功。

2、或者给MySQL设置用户授权,允许所有远程IP都可以连接数据库,然后再进行添加。
登录数据库执行命令:
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
flush privileges;



在数据管理中,添加成功数据库后,可以登录进行管理操作。






如问题还未解决,请联系 售后技术支持

展开
收起
云栖大讲堂 2017-11-02 14:25:54 2161 分享 版权
阿里云 AI 助理回答

您提供的解决方法是正确的。当遇到“not allowed to connect to this MySQL server”这个错误时,确实是因为MySQL服务器默认配置不允许远程主机连接。您的解决方案分两步进行了阐述:

  1. 针对特定IP授权:这种方法更安全,仅允许特定的外部IP地址(例如121.43.18.66)访问数据库。执行的SQL命令格式为:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'121.43.18.66' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

    其中,*.*表示对所有数据库和表授权,root是用户名,121.43.18.66是要授权的IP地址,your_password应替换为实际的密码。

  2. 允许所有IP连接:这一步骤提供了更广泛的访问权限,允许任何远程IP地址连接到MySQL服务器。虽然方便,但安全性较低。执行的SQL命令为:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

    这里%是一个通配符,代表任何IP地址。

请确保在执行这些命令后使用FLUSH PRIVILEGES;来立即生效这些权限更改。

如果按照上述步骤操作后问题仍然存在,可能需要检查以下几个方面: - 防火墙设置:确保您的服务器或云服务提供商的防火墙规则没有阻止来自外部的MySQL端口(默认是3306)的连接。 - MySQL配置文件:检查MySQL的配置文件(如my.cnf或my.ini),确认bind-address是否被设置为0.0.0.0或者注释掉,以允许从任何IP地址连接。 - 云服务安全组:如果您使用的是阿里云ECS等云服务器,还需要检查实例的安全组规则,确保已添加允许MySQL端口入站的规则。

如果问题复杂或以上步骤未能解决问题,建议联系阿里云的售后技术支持获取专业帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答