【问题标题】:Connecting Remotely to MySQL远程连接到 MySQL
【发布时间】:2015-04-30 11:54:37
【问题描述】:

我在远程连接以及使用我的 IP 而不是“localhost”连接到我的 MySQL 服务器时遇到问题。

我做了什么来尝试解决这个问题?

  • 在 TCP 和 UDP 上打开了 3306 端口。
  • 在 Windows 防火墙中添加了端口例外。
  • 允许 MySQL 公共连接通过 Windows 防火墙。
  • 还创建了一个用户,我为其授予了所有权限并在之后刷新了它们。

我想使用我的 C# 应用程序连接到该数据库并通过 datagridview 检索数据(目前通过 localhost DB 完美运行)。

为了让我的连接正常工作,我在这里遗漏了什么,所以我最终不会出现这个错误?

无法连接到 MySQL... (10061)

如果这很重要,我只在同一台 PC 上测试了连接,我认为这不应该,因为它是同一个 IP?

工作本地连接字符串:

string connString = "datasource=localhost;port=3306;username=myUser;password=myPassword";

【问题讨论】:

  • 本题非题外话,开发者需要时刻了解如何连接MySQL。
  • "以及使用我的 IP 进行连接" - MySQL 是否仅限于监听本地主机?试试netstat -an |grep 3306 - 你想让它说0.0.0.0:3306 而不是127.0.0.1:3306。然后您需要确保您的数据库用户帐户的主机是 % 而不仅仅是 localhost 否则它将无法登录,或创建一个单独的用户进行远程访问。
  • 确认账户主机为“%”。我可以在哪里调出命令控制台?我只安装了关于数据库的 MySQL Workbench。
  • 对不起,我错过了您的回复。 netstat 是 Windows 命令提示符的命令,而不是 MySQL Workbench。如果您在尝试将输出传递到 grep 时遇到错误,请改用 |more 并查找 TCP LISTEN 3306 行。
  • 我找到了地址,它是 0.0.0.0:3306。我正在考虑尽快开始一个关于使用谷歌 API 从谷歌电子表格获取数据的新线程。从来没有让 MySql 在本地以外的地方工作。

标签: c# mysql


【解决方案1】:

如果您连接到您的 IP,您应该端口转发您的路由器。

http://portforward.com/有很多指南

【讨论】:

  • 编辑:我看到你做了移植。你能告诉我们你连接的代码吗?可能您的 DSN 无效。
  • 编辑了我的顶帖。我通过我的 wForms 应用程序上的数据源添加了主连接。如果您需要更多代码,我可以添加其余代码,但这只是加载数据的命令。
【解决方案2】:

检查您的 mysql 端口是否可以从 Internet 访问,用于前测试使用:http://www.yougetsignal.com/tools/open-ports/

你的mysql接受远程连接吗?

看这里:

https://stackoverflow.com/a/6687959/3882707

【讨论】:

  • “端口 3306 已打开。”所以港口很好。
猜你喜欢
  • 1970-01-01
  • 2017-07-16
  • 2017-06-19
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-08
相关资源
最近更新 更多