[英]connect remotely to mysql
我在同一台pc
上的vm
上设置了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
我成功连接到数据库,现在我将我的应用程序复制并粘贴到vm上,并且出现jit
错误,我在vm
上没有任何东西(没有appache
没有mysql
只有net framework 4.0)我确实做了我的root用户远程启用如下:
GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION;
现在我仍然卡住,所以如何用我的ip
连接到数据库,以便vm
可以找到它,我是否需要在vm
进行任何设置?
注意:如果VirtualBox
存在问题,我可以使用另一台pc
,但是我怀疑与VirtualBox
没有关系。
我很困惑,我做了这张表格
然后将其移至虚拟机,然后我简单地问:在该文本框中写什么?
连接到127.0.0.1
,将连接到当前系统。 无论运行什么系统:main或vm
。 您应该配置VirtualBox
网络设置,以便vm
可以连接到您的主系统。 在这种情况下,您将不会从vm
连接到localhost,而是连接到设置为main OS
IP地址。
或者,您可以将MySQL
设置为vm
并将数据库移至该MySQL
。
编辑
为了测试与MySQL
连接,您可以使用telnet
( http://windows.microsoft.com/zh-cn/windows/telnet-faq#1TC=windows-7 )。 首先,您应该知道MySQL
端口。 您可以从MySQL
配置中获取它,也可以尝试从@Prageeth Roshane的答案中获取端口。 然后,您应该尝试从VirtualBox
连接到MySQL
以找到端口。 您可以使用或编程或telnet。 如果您在连接方面遇到麻烦,请尝试检查VM和主OS中的防火墙是否未阻止您的程序(或telnet)。
PS:如果可以从另一台PC连接到MySQL
,但不能从VM连接,那么麻烦在于VM的网络设置。
给您的mysql连接正在使用的PORT
,例如3308或3306
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.