C#无法连接到MySQL服务器

时间:2015-08-19 21:02:29

标签: c# mysql

我在从我的程序连接到我的SQL(在线)服务器时遇到问题。

我收到错误

  

“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。“

我认为我的连接字符串是正确的......

    myConnection.ConnectionString =
    "SERVER=" + db_host + ";" +
    "DATABASE=" + db_name + ";" +
    "UID=" + db_username + ";" +
    "PASSWORD=" + db_password + ";";

我的路由器转发了sql server使用的端口。 db_host是服务器的IP。 db_username是sql server的用户(不是root @ localhost)

我不确定是否需要启用与DB的外部连接? 我听说它们默认是打开的,我在phpmyadmin或cpanel中找不到它来启用它。

为此特定错误尝试了各种解决方案,但没有运气。 程序因尝试连接而超时并抛出异常 System.Data.SqlClient.SqlException(0x80131904)

修改 谢谢你指点我正确的方向。 我现在正在使用MySQL .NET Connector类,我收到错误 使用方法'mysql_native_password'对用户'myusername'的主机'x.x.x.x'进行身份验证失败,并显示以下消息:用户'myusername'@'my_external_ip'的访问被拒绝(使用密码:YES)---> MySql.Data.MySqlClient.MySqlException(0x80004005):拒绝访问用户'myusername'@'my_external_ip'(使用密码:YES)

IP x.x.x.x是MySQL服务器的IP。 myusername是我的用户名,my_external_ip是这个PC的外部IP。 密码是正确的。这是否意味着主机不允许外部连接?

1 个答案:

答案 0 :(得分:1)

您无法使用System.Data.SqlClient.SqlConnection连接到MySql服务器

尝试使用MySql.Data.MySqlClient.MySqlConnection

更多信息here

您可以下载MySql Connector here

第二个问题

在MySql中,用户是用户名与用户连接的主机的组合。因此,您需要将用户添加到服务器,例如user@x.x.x.x

查看更多here