2013-01-06 86 views
1

我在C#應用程序,我想遠程連接到MySQL數據庫中的cPanel 我的代碼是:遠程連接到MySQL數據庫的cPanel

static string MyConString = SERVER= remoteDomin.com;DATABASE=XXX;UID=XXX;PASSWORD=XXX;"; 
MySqlConnection connection = new MySqlConnection(MyConString); 

但這水溼成功,並拋出MySql.Data.MySqlClient.MySqlException

訪問被拒絕的用戶 'XXXr'@'adsl-109-74-46-204.dynamic.yemennet.ye' (使用密碼:YES)

回答

1

你是什麼意思「在cpanel?」您的MySQL服務器是否在託管服務提供商處運行?你的客戶是否在你的本地機器上?如果是這樣,那意味着你正嘗試通過公共互聯網連接你的MySQL客戶端和服務器。它看起來像這是你想要做的。

很多託管服務提供商不允許這樣的。你的確如此,因爲你收到的消息說MySQL服務器拒絕你的特定連接請求。

您需要授予你的MySQL數據庫的訪問權限,從而

[email protected]% 

也許

[email protected] 

可以訪問你的數據庫。第一種選擇授予用戶試圖從任何主機連接的用戶XXXr的訪問權限。第二個提到與您當前的ADSL接入IP號碼一起使用的主機名。

如果你不能找出如何通過您的cPanel授予此用戶權限(也稱爲用戶訪問),請您託管服務提供商對幫助技術支持。

這可能是您的託管服務提供商 - 運行MySQL服務器,並提供給它的cPanel接入服務 - 將不允許這樣做。通常認爲允許來自公共互聯網的MySQL數據庫連接有點不安全。

+0

我的意思「的cPanel」是我的一個託管服務提供商。我將我的MySQL的訪問權限授予用戶XXXr。而且我將我的IP地址添加爲遠程數據庫訪問主機。但這不能成功! –

+0

CPANEL不是託管服務提供商公司,它是許多託管服務提供商公司使用的知名軟件包。 MySQL訪問權限不是授予XXXr,也不授予用戶,而是授予XXXr @ hostname。這有時是XXXr @ localhost,或者它可以是XXXr @%(表示任何主機)。大多數提供CPanel訪問權限的託管服務提供商都不允許訪問他們的MySQL數據庫服務器,除非他們運行的Web服務器。 –

+0

謝謝@Ollie瓊斯,但如何能在MySQL授予訪問權限的用戶在託管服務提供商,提供的cPanel訪問XXXR @主機名。 –