当前位置: 首页 > 知识库问答 >
问题:

centos7 - mysql8创建用户并授权之后仍无法远程连接的原因?

阳凌
2023-09-28

两台服务器:
服务器A, 192.168.111.111
服务器B, 192.168.111.113
均装有mysql8, 均未开启防火墙,
服务器A msyql的配置文件 也没有bind-address什么的配置
需要从服务器B,远程连接服务器A,并对数据库test进行备份操作,
在服务器A中,已经使用mysql8创建了用户并授权如下:

$ CREATE USER 'test1'@'192.168.111.113' IDENTIFIED BY 'abcABC123';$ GRANT SELECT ON test.* to 'test1'@'192.168.111.113';$ FLUSH PRIVILEGES;

在服务器B中,连接

$ mysql -h 192.168.111.111 -utest1 -ppassword: abcABC123

然后提示:

ERROR 1130 (HY000): Host '192.168.111.111' is not allowed to connect to this MySQL server

求解

共有1个答案

丁慈
2023-09-28

在MySQL 8中,创建用户并授权后,仍无法远程连接可能有以下原因:

  1. 防火墙设置:确保远程客户端(例如,从另一台计算机或服务器)可以访问MySQL服务器的网络端口。默认情况下,MySQL在3306端口上运行。如果防火墙阻止了该端口的访问,则无法建立远程连接。
  2. 网络问题:确保网络连接正常,并且没有任何网络问题(如路由器、VPN或其他网络设置)阻止了远程连接。
  3. MySQL配置:MySQL的bind-address配置可能限制了MySQL只能接受本地连接。默认情况下,MySQL配置为只接受localhost(本地计算机)的连接。要允许远程连接,您需要更新MySQL配置文件(通常是my.cnf或my.ini),将bind-address设置为0.0.0.0或注释掉该行。
  4. 授权问题:虽然您已经创建了用户并授权,但可能出现了某些授权问题。确保您使用的用户具有正确的权限来执行所需的数据库操作。使用GRANT语句为用户授予适当的权限。
  5. 密码问题:确保您在远程连接时使用的密码是正确的。密码是区分大小写的,确保您在客户端和服务器上使用相同的密码。
  6. MySQL用户权限:要使用远程连接,用户必须具有适当的全局权限(例如,CREATE USER、GRANT OPTION等)。确保您创建的用户具有这些权限。
  7. 服务器端日志:查看MySQL服务器的错误日志以获取有关连接问题的更多详细信息。这可以帮助您确定是否存在其他问题或错误。
  8. 客户端设置:确保远程客户端(例如,使用MySQL命令行工具或GUI工具)的连接设置正确,包括服务器地址、端口、用户名和密码。
  9. SELinux:如果您的系统上启用了SELinux,它可能会限制MySQL的访问权限。请检查SELinux的设置,并根据需要进行相应调整。

要解决无法远程连接的问题,您可以按照上述步骤逐一排查,并根据具体情况采取相应的措施。

 类似资料:
  • 我正在使用“mongo xx.xx.xx.xxx:27017”连接到远程mongo服务器 它连接没有问题。但是当尝试使用db.auth({用户名,密码})进行身份验证时,它会给出0。 但当我转到那个远程机器,在那里运行一个本地客户端,然后尝试身份验证时。它很好用。 请帮忙。可能是什么问题

  • 本文向大家介绍CentOS7.2安装MySql5.7并开启远程连接授权的教程,包括了CentOS7.2安装MySql5.7并开启远程连接授权的教程的使用技巧和注意事项,需要的朋友参考一下 1、安装mysql5.7 CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL,因此安装方式较为以往有一些改变: 下载mysql的源 安装yum库 安装MySQL 启动MySQL服务 2

  • 本文向大家介绍mysql5.7创建用户授权删除用户撤销授权,包括了mysql5.7创建用户授权删除用户撤销授权的使用技巧和注意事项,需要的朋友参考一下 一, 创建用户:        命令:        说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. p

  • 很好的一天! 我正在从glassfish迁移到JBoss 7.1.3。我有。无法创建远程连接的ear应用程序。我猜我的EJB有问题。 下面是我部署的EJB(来自服务器日志) 下面是我在资源调配器中的上下文查找。java代码 下面我已经粘贴了我的服务器。日志和我的应用程序日志供您参考。我遇到错误,比如无法创建远程连接。我在加载包含上述属性的初始上下文时遇到问题。。。ctx=新的初始上下文(jndiP

  • 我使用VS代码Remote-SSH连接到远程机器以修改文件。当前,在尝试连接远程时-ssh:connect to host。我得到错误消息,“无法建立连接到”:spawn enotdir。 完整的错误日志如下: 我已经尝试重新安装远程开发包,并清除了远程中的。vscode-server文件。他们似乎没有帮助。

  • 问题内容: 我有一个脚本,可以创建数据库,存储的proc,视图,表,udf。我想包含一个脚本来创建用户’user_1’并授予对数据库的执行权限。 我尝试以下为所有存储的过程创建Grant exec命令 但是不起作用。它给 ’;’附近的语法不正确。 我该如何解决? 问题答案: 创建登录名:创建服务器级别的登录名。然后…创建用户:让登录帐户附加到您的数据库。然后…将执行权限授予:向您的数据库中的所有s