2015-02-09 61 views
0

我最近在我的一臺服務器上使用PHPMyAdmin安裝了MySQL數據庫,但是當涉及到在C#中連接它時,數據庫沒有找到! PHPMyAdmin可在http://jackryder.co.uk/phpmyadmin,我可以瀏覽和編輯它,但是當涉及到在C#中使用數據庫管理器它說它無法連接到服務器,任何幫助表示讚賞!C#不能看到mysql數據庫

+0

您是否使用允許從任何主機連接的db用戶? MySQL不僅僅根據用戶的名字來區分用戶,還要通過他們連接的主機名來分隔用戶。例如,安裝mysql之後創建的root用戶只允許從本地主機連接。如果你的用戶有類似的限制,你必須創建一個沒有限制的用戶。 – 2015-02-09 21:15:15

+0

你試圖連接到數據庫的腳本是什麼?數據庫連接信息和憑據是否正確? – 2015-02-09 21:16:05

+0

憑證肯定是正確的,我使用根連接。我有一個本地主機phpmyadmin,它與根 – Jaxi 2015-02-09 21:19:45

回答

2

根據你在評論中寫的內容,這聽起來像你的MySQL服務器不允許來自其他機器的連接(或者至少不是根用戶)。

大多數主機不允許通過阻塞其路由器/防火牆上的MySQL端口從任意機器連接MySQL(有充分的理由!)。這通常是一件好事,但是當你在家開發一個應用程序並且想要使用你的託管數據庫時會引起一些煩惱。大多數MySQL安裝不接受來自其他機器的連接,或者(開箱即用,我的MySQL服務器接受從本地主機名連接的用戶root,'127.0.0.1'或'localhost')。這兩種情況都會使您無法在家中進行連接。 phpMyAdmin可以工作,因爲它位於主機的網絡服務器上,而MySQL可以來自本地主機,127.0.0.1或其他託管服務提供商配置的其他可信主機。

@SaniHuttunen有很好的建議;如果你可以通過端口3306遠程登錄你的主機(或者MySQL使用的任何端口,如果不是標準端口的話),那麼這是第二個限制,可以通過創建一個具有合適(或通配符)主機的新用戶來輕鬆解決。如果您的託管服務提供商阻止了您的連接,您必須隨身攜帶。

當連接到MySQL,主機「本地主機」是指套接字連接,「127.0.0.1」是通過TCP/IP網絡的本地連接,「%」是一個通配符指任何主機(未除外插座連接),當然你也可以使用特定的主機名或IP地址。

請在打開服務器接受來自互聯網的連接之前,仔細考慮安全並採取適當的預防措施。