我在同一个vm
上的pc
上设置了Windows 7,我有一个包含以下代码的表单:
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
错误我{{1}上没有任何东西}(没有vm
没有appache
只有net framework 4.0)
我确实让我的root用户远程启用了:
mysql
现在我仍然卡住了,所以如何使用我的GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;
连接到数据库,以便ip
可以找到它,我是否需要在vm
设置任何内容?
注意:如果vm
中存在问题,我可以使用其他pc
,但我怀疑它与VirtualBox
无关。
我很困惑我做了这个表格
然后我把它移到vm,我简单地问:在该文本框中写什么?
答案 0 :(得分:1)
当您连接到127.0.0.1
时,您将连接到当前系统。无论正在运行什么系统:main或vm
。您应配置VirtualBox
的网络设置,以便vm
可以连接到您的主系统。在这种情况下,您将从vm
连接到localhost,但连接到您设置为main OS
的IP地址。
或者您可以将MySQL
设置为vm
并将数据库移至MySQL
。
修改强>
要测试与MySQL
的关联,您可以使用telnet
(http://windows.microsoft.com/en-us/windows/telnet-faq#1TC=windows-7)。
首先,您应该知道MySQL
端口。您可以从MySQL
配置或从@Prageeth Roshane'尝试端口。回答。然后,您应该尝试从VirtualBox
到MySQL
连接到finded端口。您可以使用或编程或telnet。如果您遇到连接问题,请尝试检查VM和主操作系统中的防火墙是否未阻止您的程序(或telnet)。
P.S。如果您可以从另一台PC连接到MySQL
,但无法从VM连接,则问题出在VM的网络设置中。
答案 1 :(得分:-1)
提供您的mysql连接正在使用的PORT
像3308或3306