2014-03-27 44 views
2

我安裝Windows 7的,我有下面的代碼形式:連接remotly在同一<code>pc</code>上<code>vm</code>的mysql

MySqlConnection connection = new MySqlConnection("SERVER = 127.0.0.1; DATABASE = my_test; UID = root; PASSWORD = 'XXXX';"); 

private void Form1_Load(object sender, EventArgs e) 
{ 
    MySqlCommand cmd = new MySqlCommand("SELECT * FROM info", connection); 
    connection.Open(); 
    MySqlDataReader reader = cmd.ExecuteReader(); 
    if (reader.HasRows) 
    { 
     while (reader.Read()) 
     { 
      MessageBox.Show(reader[1].ToString()); 
     } 
    } 
    reader.Close(); 
    connection.Close(); 
} 

pc我成功地連接到數據庫,現在我複製和粘貼我的應用程序的虛擬機,我也得到一個jit的錯誤,我沒有對vm(無appache沒有mysql只是.NET框架4.0) 任何事情,我沒有讓我的root用戶一樣,遠程啓用:

GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;

現在我仍然堅持,所以如何與我ip所以vm可以找到它連接到數據庫,和我需要在vm設置什麼嗎?

注:我可以用另一種pc如果問題在VirtualBox,但我懷疑它無關與VirtualBox

我很困惑我做了這個形式

enter image description here

,我將它移動到虛擬機,我問簡單:在文本框中寫的是什麼?

+0

一個PORT怎麼樣給我們的JIT錯誤你? –

+0

我的意思是實際的錯誤,而不是我們什麼都看不到的截圖,將它搜索到你的事件日誌中。 –

+0

我沒有在虛擬現實中的視覺工作室,所以如何知道錯誤在哪裏 –

回答

1

當您連接到127.0.0.1時,您連接到當前系統。不管運行什麼系統:main或vm。您應該配置VirtualBox的網絡設置,以便vm可以連接到您的主系統。在這種情況下,您將從vm不連接到本地主機,而是連接到您設置爲主要OS的IP地址。

或者您可以將MySQL設置爲vm並將您的數據庫移動到該MySQL

編輯

爲了測試連接MySQL可以使用telnethttp://windows.microsoft.com/en-us/windows/telnet-faq#1TC=windows-7)。 起初你應該知道MySQL的端口。你可以從MySQL配置中獲取它,或從@Prageeth Roshane的答案中嘗試端口。那麼你應該嘗試從VirtualBoxMySQL連接到finded端口。您可以使用或編程或telnet。如果您遇到連接問題,請嘗試檢查虛擬機和主操作系統中的防火牆是否未被您的程序(或telnet)阻止。

P.S.如果您可以從另一臺電腦連接到MySQL,但不能從虛擬機連接,則虛擬機的網絡設置會出現問題。

+0

整點是從另一臺電腦連接到我的電腦中的數據庫,我沒有配置網絡設置以便vm可以訪問互聯網 –

+1

因此,您應該連接到主系統的IP地址。 – Indian

+0

你的意思是用我的ip替換127.0.0.1'嗎? –

-1

給您的MySQL連接使用 像3308或3306

+0

如何知道女巫是 –

+0

你可以嘗試從主操作系統連接telnet到'127.0.0.1:3308'和'127.0.0.1:3306'。 – Indian

+0

我必須改變什麼與防火牆? –

相關問題