如何设置MySQL数据库从另一台计算机连接?

时间:2012-05-24 15:17:39

标签: c# mysql remote-access instant-messaging

我遇到了很大的麻烦。

我想要做的是:我想创建一个系统(在C#中),其中允许用户相互发送简单消息。所以我想创建一个 MySQL数据库,它将停留在服务器上。然后,运行系统的其他计算机必须远程连接到此数据库并读取某个表以查看它们是否有任何新消息。 我希望客户端计算机将通过Internet 连接到服务器上的数据库。

但我该怎么做?

  1. 如何创建可通过互联网连接的数据库?
  2. 我的连接字符串应该如何在客户端计算机上显示?
  3. 我需要在客户端和服务器计算机上执行哪些配置?
  4. 非常感谢任何帮助,如果你能建议我如何实现我的目标。我是一个非常称职的程序员,但讨厌这些网络事物!

    我正在使用WPF开发C#来访问数据库。所以它是一个桌面应用程序!

1 个答案:

答案 0 :(得分:0)

以下是您要做的事情。

使用MySQL Connector / NET ADO.NET连接器。是这里。 http://dev.mysql.com/downloads/connector/net/5.1.html

按照说明进行设置。它运作得很好。

将您的MySQL服务器放在公共IP地址上。

让您的客户端软件程序集通过ADO.NET连接器连接到该公共IP。

但是,请!

问问自己这是否正确。它可能不是,因为MySQL服务器(和所有表服务器)在防火墙后面并且接受来自有限数量的客户端软件包的连接时,可以更加安全和可预测地工作。

考虑做Mike Christensen的建议。使用ASP.NET和WCF,或任何您喜欢的堆栈,构建MySQL数据库的服务器驻留接口。然后,可以通过推送给最终用户的客户端软件访问该服务器驻留界面。

该界面可以只使用您需要的方法。用于构建服务器组件的WCF或任何其他堆栈可以轻松且稳健地完成此任务。例如。

Client 1: This is moe. Here's a message for curly:  "Look at the grouse, look at the grouse".
Server: OK

Client 2: This is curly: any new messages?
Server: moe says "Look at the grouse, look at the grouse".

Client 1: This is moe. When did curly last collect my messages?
Server: ten minutes ago.

Client 2: This curly. any new messages?
Server: NO

这比仅仅在互联网上提供MySQL界面更安全,更具可扩展性,而且性能会更好。

顺便说一句,看起来你想要一个即时通讯协议。您可能希望在http://jabber.org处使用开源系统。如果你自己构建它,那么这些东西可能很难实现。