簡體   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