繁体   English   中英

远程连接到mysql

[英]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连接,您可以使用telnethttp://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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM