Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
远程连接mysql服务器时出错,但在本地工作正常_Mysql - Fatal编程技术网

远程连接mysql服务器时出错,但在本地工作正常

远程连接mysql服务器时出错,但在本地工作正常,mysql,Mysql,我在本地windows pc(windows 7)上安装了mysql。现在我编写了一个与db交互的程序,并给出了结果。当我在本地安装了mysql的同一台机器上运行该程序时,该程序工作正常。 现在我从另一台机器上远程运行该程序,它给了我一些错误,如下所示。我已经正确设置了rmote机器名和端口。我能够从另一台机器上ping mysql服务器机器 java.sql.SQLException: null, message from server: "Host 'remote-pc-name' is

我在本地windows pc(windows 7)上安装了mysql。现在我编写了一个与db交互的程序,并给出了结果。当我在本地安装了mysql的同一台机器上运行该程序时,该程序工作正常。
现在我从另一台机器上远程运行该程序,它给了我一些错误,如下所示。我已经正确设置了rmote机器名和端口。我能够从另一台机器上ping mysql服务器机器

 java.sql.SQLException: null,  message from server: "Host 'remote-pc-name' is not allowed to connect to this MySQL server"
谷歌搜索后,我发现:
确保服务器未配置为忽略网络连接,或者(如果您试图远程连接)未配置为仅在其网络接口上进行本地侦听。如果服务器是用--skip networking启动的,它将根本不接受TCP/IP连接。如果服务器是以--bind address=127.0.0.1启动的,它将只在环回接口上本地侦听TCP/IP连接,而不接受远程连接

现在,如果要执行此操作,我可以在哪里执行?我应该将哪个属性更改为哪个值。我应该更改哪个文件,我应该更改什么?

添加新帐户:

  • 指定了“user1”@“精确的\u主机”-主机

    创建用户“user1”@“精确的\u主机”

  • 任何主机的“user1”@“%”

    创建用户“user1”@“%”

授予您所需的权限并与新帐户连接。

添加新帐户:

  • 指定了“user1”@“精确的\u主机”-主机

    创建用户“user1”@“精确的\u主机”

  • 任何主机的“user1”@“%”

    创建用户“user1”@“%”


授予您所需的权限并与新帐户连接。

文件/etc/mysql/my.cnf 您不想拥有:

bind-address                            = 127.0.0.1

如果它们存在,请在前面添加一个#以禁用它们, 然后重新加载/重启mysql 在此之后,服务器应为远程连接打开
您可能需要在文件/etc/mysql/my.cnf中为允许在防火墙中连接的人添加一些限制 您不想拥有:

bind-address                            = 127.0.0.1

如果它们存在,请在前面添加一个#以禁用它们, 然后重新加载/重启mysql 在此之后,服务器应为远程连接打开 您可能需要为防火墙中允许连接的人添加一些限制

您可以在MySQL的配置文件中检查“跳过网络”行

关于这个错误,我还发现了另一件事:在(MySQL 5.5参考手册)中,他们说(如果我没有弄错的话),如果你试图从一个没有被任何现有MySQL帐户覆盖的地址连接,错误消息将是你收到的,而不是通常的“拒绝用户访问…”。我建议检查MySQL帐户中的主机部分(例如,如果远程计算机是@192.168.1.15,是否有类似于“…'@'192.168.1.15”或“…'@%”的帐户)。您可以检查MySQL配置文件中的“跳过网络”行


关于这个错误,我还发现了另一件事:在(MySQL 5.5参考手册)中,他们说(如果我没有弄错的话),如果你试图从一个没有被任何现有MySQL帐户覆盖的地址连接,错误消息将是你收到的,而不是通常的“拒绝用户访问…”。我建议检查MySQL帐户中的主机部分(例如,如果远程计算机是@192.168.1.15,是否有类似于“…”@“192.168.1.15”或“…”@“%”的帐户)。我遇到了这个问题,我可以通过MySQL服务器实例配置向导解决这个问题

C:\Program Files\MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig.exe


打开它并单击“从远程机器启用根访问”选项。

我遇到了这个问题,我可以通过mysql服务器实例配置向导解决这个问题

C:\Program Files\MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig.exe


打开它并单击“启用远程机器的根访问”选项。

您对远程机器有管理员权限吗?检查
mysql数据库、表用户、数据库
所有连接详细信息都没有问题,我认为这是因为该属性:“忽略网络连接或(如果您试图远程连接)它没有被配置为仅在其网络接口上本地侦听。“我如何更改该属性以及该属性是什么?您对远程计算机具有管理员权限吗?检查
mysql数据库、表用户、db
所有连接详细信息都很好,我认为这是因为该属性:“忽略网络连接,或者(如果您试图远程连接)未配置为仅在其网络接口上本地侦听。“我如何更改该属性以及该属性是什么?:谢谢回复,但我在windows上使用mysql,找不到我的.cnf文件。我检查了my.ini,但在其中找不到这些属性,你能帮忙吗?该文件在windows中的何处?我已经检查了,但在该文件中找不到此类属性以连接到远程mysql服务器,我可以看到3种可能的阻止类型,mysql配置、防火墙或用户权限(请参阅Devart回答):谢谢回复,但我在windows上使用mysql,找不到我的.cnf文件。我检查了my.ini,但在其中找不到这些属性,你能帮个忙吗?这个文件在windows中的什么地方?我已经检查过了,但是我在那个文件中找不到这样的属性。要连接到远程mysql服务器,我可以看到3种可能的阻止类型:mysql配置、防火墙或用户权限(请参阅Devart回答)