远程连接到mysql

时间:2014-03-27 10:11:42

标签: c# mysql virtualbox

我在同一个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无关。

我很困惑我做了这个表格

enter image description here

然后我把它移到vm,我简单地问:在该文本框中写什么?

2 个答案:

答案 0 :(得分:1)

当您连接到127.0.0.1时,您将连接到当前系统。无论正在运行什么系统:main或vm。您应配置VirtualBox的网络设置,以便vm可以连接到您的主系统。在这种情况下,您将从vm连接到localhost,但连接到您设置为main 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。如果您遇到连接问题,请尝试检查VM和主操作系统中的防火墙是否未阻止您的程序(或telnet)。

P.S。如果您可以从另一台PC连接到MySQL,但无法从VM连接,则问题出在VM的网络设置中。

答案 1 :(得分:-1)

提供您的my​​sql连接正在使用的PORT 像3308或3306