2017-10-07 74 views
0

我無法連接到我的sql服務器,我嘗試了一些修補程序從stackoverflow和谷歌,它並沒有幫助我。謝謝。無法連接到任何指定的MySQL C#

配置myuser我在我的linux vps上使用了這個。

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword'; GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%'; 

我想:Unable to connect to any of the specified mysql hosts. C# MySQL(我嘗試使用MySqlConnectionStringBuilder,不指定端口,而不是在連接字符串密碼我輸入PSW); 禁用我的電腦防火牆,禁用linux服務器防火牆

+0

異常消息說什麼? – Dale

+0

@ Dale_dale12「無法連接到任何指定的mysql主機」 – Mihaita

回答

0

因此,在谷歌搜索如何在Linux中設置sql連接,並嘗試不同的設置很難我修復它,所以我想與我分享如何修復它。感謝您的幫助@Avo Nappo

首先你需要註釋掉你的sql配置中的#bind-address行。 這裏接受的答案是:MySQL root access from all hosts

然後,我使用這個命令創建一個用戶CREATE USER 'golden'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%'; 而在c#中,我使用了問題中的默認連接字符串。我不知道爲什麼,但MySqlConnectionStringBuilder不適用於我的電腦。我希望這會幫助某人。祝你有美好的一天,並繼續編碼。

0

MySqlConnectionStringBuilder 確實使您能夠指定端口。剛剛測試,這工作得很好:

MySqlConnectionStringBuilder csb = new MySqlConnectionStringBuilder(); 
csb.Server = "192.168.1.105"; 
csb.Port = 3307; 
csb.Database = "test"; 
csb.UserID = "me"; 
csb.Password = "mypassword"; 

cn = new MySqlConnection(csb.ToString()); 
cn.Open(); 

你肯定你的MySQL服務器實際上接受了TCP傳入的連接?默認情況下已禁用。

+0

同樣的錯誤,無法連接...也許是我如何創建用戶錯了嗎? – Mihaita

+0

那麼,首先懷疑MySql服務器不允許傳入的TCP連接。我記得你必須明確地啓用它。查看另一個關於這個主題的SO帖子:https://stackoverflow.com/questions/14779104/how-to-allow-remote-connection-to-mysql –

+0

您只准許在本地主機上訪問用戶。假設:該服務器與您嘗試連接的服務器不在同一臺機器上? –

相關問題