【问题标题】:MySQL + Entity Framework + VPS ServerMySQL + 实体框架 + VPS 服务器
【发布时间】:2012-01-10 14:39:41
【问题描述】:

我已经在我的 VPS 服务器上安装了 MySQL 服务器。然后,我想在我的应用程序中使用实体框架。我已经下载了 ADO.NET 连接器。

我通过服务器 URL:http://IP_ADDRESS 以及登录并传递给 MySQL 服务器实例。

当我测试连接时,我收到错误“Unable to connect to any of the specified MySQL hosts.”为什么?

编辑

已解决

我必须做三件事:

1) 将bind-address=0.0.0.0 添加到my.ini(MySQL 配置文件)

2)mysql> create user '___login___'@'%' identified by '___pswd___';

3)grant select, insert, delete on database_name.* to ___login___@'%' identified by '___pswd___';

【问题讨论】:

  • 该位置没有服务器。它仍然使用默认端口号还是已更改?最好在连接字符串中指定。

标签: .net mysql database-connection


【解决方案1】:

首先,删除http:// 部分,您应该只在此处提供 IP 地址,仅此而已。 此外,您还可以检查两件事:

1) MySQL 服务器是否允许远程连接,请检查my.cnf 中的bind-address 配置。这应该是未配置的或您的 VPS 的公共 IP 地址。我相信这里的默认设置是bind-address = 127.0.0.1,它只允许本地连接(更改后必须重新启动 MySQL 服务器)

2) 检查 3306 端口是否被防火墙阻止。

您可以使用 Telnet 来检查 MySQL 服务器是否可以通过使用此命令进行远程访问:telnet <IP of server> 3306 如果您可以建立连接,您应该能够远程连接到您的数据库,只要您连接的用户是允许进行远程连接。

【讨论】:

  • 在 MySQL Server 安装目录中看不到 my.conf 文件。它在哪里?
  • @Tony Linux 上的标准位置略有不同,但很可能是 /etc/my.cnf 或 /etc/mysql/my.cnf,我刚刚意识到这是 my.cnf 而不是 my.conf。
  • 但是 VPS 服务器在 Windows Server 2008 R2 上运行。那么,您的意思是 my.ini 文件吗?如果是这样,里面没有“绑定地址”行
  • 我使用了 telnet 命令,但出现错误:Host 'SERVER_IP_ADDR' is not allowed to connect to this MySQL server
  • @Tony 你是对的,它是 my.ini 文件,我假设它是一个 Linux 服务器。如果该行不存在,您只需将其添加到 [mysqld] 部分下
猜你喜欢
  • 1970-01-01
  • 2013-02-24
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多