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

时间:2011-08-11 08:18:37

标签: mysql

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

 java.sql.SQLException: null,  message from server: "Host 'remote-pc-name' is not allowed to connect to this MySQL server"
谷歌用谷歌搜索后发现:
Make sure that the server has not been configured to ignore network connections or (if you are attempting to connect remotely) that it has not been configured to listen only locally on its network interfaces. If the server was started with --skip-networking, it will not accept TCP/IP connections at all. If the server was started with --bind-address=127.0.0.1, it will listen for TCP/IP connections only locally on the loopback interface and will not accept remote connections

现在如果要这样做我可以在哪里做?我应该改变哪个属性值。哪个文件我应该改变,我应该改变什么?

4 个答案:

答案 0 :(得分:4)

添加新帐户:

  • 'user1'@'exact_host' - 指定了主机

    创建用户'user1'@'exact_host'

  • 'user1'@'%' - 适用于任何主机。

    创建用户'user1'@'%'

授予您所需的权限并与新帐户建立联系。

答案 1 :(得分:0)

在文件/etc/mysql/my.cnf中 你不想拥有:

bind-address                            = 127.0.0.1

skip-networking

如果存在,请添加#infront以禁用它们, 然后重新加载/重启mysql 之后,服务器应该打开以进行远程连接 您可能希望为在防火墙中连接的人添加一些限制

答案 2 :(得分:0)

您可以在MySQL的配置文件中检查“skip-networking”行。

这是我发现的关于这个错误的另一件事:在Causes of Access-Denied Errors(MySQL 5.5参考手册)中,他们说(如果我做对了),如果你试图从一个不被任何一个覆盖的地址连接现有的MySQL帐户,错误信息将是你得到的,而不是通常的“用户拒绝访问...”。我建议检查MySQL帐户中的主机部分(例如,如果远程机器是@ 192.168.1.15,是否有'...''''192.168.1.15'或'...'@'%等帐户'?)。

答案 3 :(得分:0)

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

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

打开它,然后单击“从远程计算机启用root访问权限”选项。