远程连接到mysql [英] connect remotely to mysql

查看:70
本文介绍了远程连接到mysql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在同一个 pc 上的 vm 上设置了 Windows 7,我有一个包含以下代码的表单:

I setup a Windows 7 on vm on the same pc, I have a form with the following code:

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 只是网络框架 4.0)我确实让我的 root 用户远程启用:

on my pc i successfully connect to the db, now i copy and paste my app to the vm and i get a jit error i don't have any thing on the vm (no appache no mysql nothing but net framework 4.0) i did make my root user remote enabled like that:

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

现在我仍然卡住了,那么如何使用我的 ip 连接到数据库,以便 vm 可以找到它,我是否需要在 vm?

now i still stuck, so how to connect to the db with my ip so the vm can find it, and do i need to setup anything in the vm?

注意:如果VirtualBox 出现问题,我可以使用另一个pc,但我怀疑它与VirtualBox 无关.

Note: i can use another pc if the problem in the VirtualBox but i suspect that it has nothing to do with the VirtualBox.

我很困惑我做了这个表格

i am confused i made this form

然后我把它移到虚拟机上,我简单地问:在那个文本框中写什么?

and i move it to the vm and i asking simply: what to write in that textbox?

推荐答案

当您连接到 127.0.0.1 时,即连接到当前系统.无论运行什么系统:main 或 vm.您应该配置 VirtualBox 的网络设置,以便 vm 可以连接到您的主系统.在这种情况下,您将从 vm 连接到您设置为主 OS 的 IP 地址,而不是本地主机.

When you connect to 127.0.0.1, you connect to the current system. Regardless of what system is running: main or vm. You should configure network settings of the VirtualBox so that vm can connect to your main system. In this case you'll connect from vm not to localhost but to IP-address that you set to main OS.

或者您可以将 MySQL 设置到 vm 并将您的数据库移动到该 MySQL.

Or you can setup MySQL to the vm and move your database to that MySQL.

编辑

要测试与 MySQL 的连接,您可以使用 telnet (http://windows.microsoft.com/en-us/windows/telnet-faq#1TC=windows-7).首先你应该知道MySQL 端口.您可以从 MySQL 配置中获取它,也可以从 @Prageeth Roshane 的回答中尝试端口.然后你应该尝试从 VirtualBox 连接到 MySQL 到找到的端口.您可以使用或编程或远程登录.如果您遇到连接问题,请尝试检查 VM 和主操作系统中的防火墙是否未阻止您的程序(或 telnet).

For testing connection to MySQL you can use telnet (http://windows.microsoft.com/en-us/windows/telnet-faq#1TC=windows-7). At first you should know the MySQL port. You can get it from MySQL config or try ports from @Prageeth Roshane' answer. Then you should try to connect from VirtualBox to MySQL to finded port. You can use or programm or telnet. If you'll have troubles with connections, try to check that the firewall in VM and in main OS is not blocked your programm (or telnet).

附言如果你可以从另一台PC连接到MySQL,但不能从VM连接,那么问题出在VM的网络设置上.

P.S. If you can connect to MySQL from another PC, but cann't connect from VM, then trouble is in VM's network settings.

这篇关于远程连接到mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆