当连接被拒绝或不成功时,我看到很多关于如何将客户端连接到MySQL服务器的问题。为了简化将来的响应,我将在IP和MySQL级别发布一个简单的连接需求图。我会在需要时为每个部分添加说明。
答案 0 :(得分:2)
要从客户端计算机连接到MySQL数据库,数据必须遍历最多5级验证。以下是客户端和服务器不在同一网络上并且未使用安全连接的一般情况:
首先确保MySQL使用的bind-address
与localhost
不同,因此它使用的是接口而不仅仅是本地连接。
在每个级别,防火墙规则/权限都必须允许连接通过。请注意,机器内部可以且通常具有与外部不同的IP。基本原则是:
必须允许客户外部 IP通过所有级别连接到数据库内部 IP。
大多数情况下,防火墙已正确配置。最后一篇文章经常错过了外部用户对GRANT
的MySQL服务器DB
权限。最后一种语法是:
通常有以下形式:
GRANT ALL ON <DB>.* TO '<external_user>'@'<external_ip>' IDENTIFIED BY 'external_password';