繁体   English   中英

c#连接到不同服务器上的mysql

[英]c# connecting to mysql on different server

我有一个运行在不同网站空间的ac #web服务到我的MySQL数据库。 我想将它们链接在一起,所以有以下c#代码。

            server = "www.***.com";
        database = "MyDataBase";
        uid = "admin";
        password = "Password";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" +
        database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
        try
        {
            connection.Open();
        }
        catch (MySql.Data.MySqlClient.MySqlException ex)
        {
            Console.WriteLine(ex.Message);
        }

在catch异常中我得到以下错误

“访问被拒绝用户'admin'@'cpc13-ches4-2-0-cust195.9-1.cable.virginmedia.com'(使用密码:是)”

我现在只在本地运行它,所以我不知道这是帮助还是阻碍。

检查您的MySQL用户设置,以确保允许admin帐户从localhost以外的计算机登录。

您可以验证允许用户连接的主机,如下所示:

select user, host from mysql.user

如果admin用户只能从localhost连接,那么您要么为要连接的新主机设置权限,要么为所有使用%主机设置权限。

你可以看到admin对localhost的权限如下:

show grants for 'admin'@'localhost'

然后,您可以复制/粘贴更改主机部分的授权,以在另一台主机上授予相同的权限。

您必须为admin @ cpc授予访问权限.......

登录mysql并执行以下操作:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'
->     WITH GRANT OPTION;

或者首先使用此命令检查以查看priv。

SHOW GRANTS FOR 'admin'@'localhost';

然后再试一次...

确保您的MySql服务器允许远程连接。 也许你的连接字符串不是确切的连接字符串。 在这里检查连接字符串: http//connectionstrings.com/mysql

你想去:

Security > Logins > Click your account > Properties > User Mappings

并确保您拥有正确的权限

  • http://dev.mysql.com/downloads/connector/odbc/3.51.html下载并安装“MySQL ODBC 3.51驱动程序”。
  • 使用IP地址而不是www。 * .com
  • 需要在服务器上打开端口3306

      string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" + "SERVER=112.***.**.***;" + "DATABASE=dbname;" + "UID=u_name;" + "PASSWORD=u_pass;port=3306;" + "OPTION=3"; OdbcConnection MyConnection = new OdbcConnection(MyConString); MyConnection.Open(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM