[英]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
並確保您擁有正確的權限
需要在服務器上打開端口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.