远程 MySQL 连接错误:解决访问被拒绝问题
许多用户遇到令人沮丧的错误“ERROR 1045 (28000):用户访问被拒绝“当尝试远程访问 MySQL 时。由于授权限制,此错误会阻止远程计算机连接到数据库。为了深入研究这个问题,我们来看看一个具体的场景。
在这种情况下,用户在本地计算机 (192.168.233.142) 上运行 MySQL 服务器,并且在从另一台计算机建立远程连接时遇到困难(192.168.233.163)。确认本机MySQL端口开放,但尝试远程连接却出现上述错误。
核心问题在于MySQL用户表,其中只有两个root用户条目:一个允许从本地主机进行本地访问,并允许从任何 IP 地址 (%) 进行访问。要解决此问题,用户需要将远程计算机的特定 IP 条目添加到 mysql.user 表中。这将为该特定计算机授予显式授权。
但是,即使在添加 IP 条目并重新启动计算机后,错误仍然存在。解决方案是以 root 身份执行 GRANT 语句,指定目标远程用户的 IP 地址、用户名和密码。这将授予所需的权限,并确保远程计算机具有访问数据库所需的权限。
使用“GRANT ALL PRIVILEGES ON . TO 'USERNAME'@'IP' 授予权限IDENTIFIED BY 'PASSWORD' with grant option”语句允许远程用户执行所有数据库操作并将这些权限传递给其他用户。执行“FLUSH PRIVILEGES”语句或重新启动MySQL服务器即可完成该过程并启用远程访问。
按照这些步骤并相应地调整用户表和权限,用户应该能够成功建立远程连接MySQL 数据库。
以上是为什么远程连接时出现'MySQL 访问被拒绝”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!