【问题标题】:How do i connect to a remote mysql server in .NET?如何连接到 .NET 中的远程 mysql 服务器?
【发布时间】:2009-12-14 05:14:07
【问题描述】:

我在 VMWare 中使用 ubuntu。我安装了mysql并让它运行。我可以使用用户 root 和密码登录。我有VM盒子的IP。在我写的代码中

使用 MySql.Data; return new MySql.Data.MySqlClient.MySqlConnection("username=root;data source=192.168.100.129,password=xyz");

我还尝试了服务器而不是数据源。我收到异常消息Unable to connect to any of the specified MySQL hosts.

我跑netstat -an | grep -i mysql 看到了 unix 2 [ ACC ] STREAM LISTENING 23404 /var/run/mysqld/mysqld.sock

所以我添加了端口=23404;并尝试了data sourceserver。没运气。我确实可以在虚拟机上 ping 该地址(我使用 ifconfig 获得了地址)。那么我的问题是什么,我该如何连接?这是我第一次使用这个。我过去一直使用 sqlite。

【问题讨论】:

  • "username=root;data source=192.168.100.129,password=xyz" 很奇怪:为什么分隔符是 ; 然后是 ,data source 和空格?您是否允许外部连接到 mysql (/etc/hosts.allow)?您可以使用任何 mysql 客户端从您开发的机器上连接吗?
  • 带空格的数据源是正确的。但是,是的,这需要在主机地址和“密码”一词之间使用分号。
  • 我认为这很愚蠢,但从教程中复制了逗号。我改变了它,仍然没有运气。相同的消息。

标签: .net mysql windows linux mysql-connector


【解决方案1】:

听起来像是 MySQL 问题而不是 .NET 问题。默认情况下,MySQL 仅侦听来自 localhost 的连接(出于安全原因)。您需要明确告诉它不要这样做。看到这个:http://www.howtogeek.com/howto/mysql/switch-mysql-to-listen-on-tcp/

【讨论】:

  • 我在发布后一分钟就意识到了这一点。我已经完成了,但我重新启动服务器后仍然收到错误。
  • 您是否尝试从 MySQL 客户端而不是从 .NET 进行连接?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多