【发布时间】: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 在本地以外的地方工作。