Подключиться удаленно к MySQL

Я установил Windows 7 на vm на том же pc, У меня есть форма со следующим кодом:

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 ничего, кроме net Framework 4.0) я сделал мой удаленный пользователь root таким образом:

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

Теперь я все еще застрял, так как подключиться к БД с моим ip Итак vm могу найти его, и мне нужно настроить что-нибудь в vm?

Примечание: я могу использовать другой pc если проблема в VirtualBox но я подозреваю, что это не имеет ничего общего с VirtualBox,

я запутался, я сделал эту форму

введите описание изображения здесь

и я перемещаю его в виртуальную машину и спрашиваю просто: что написать в этом текстовом поле?

2 ответа

Решение

Когда вы подключаетесь к 127.0.0.1, вы подключаетесь к текущей системе. Независимо от того, какая система запущена: основная или vm, Вы должны настроить параметры сети VirtualBox чтобы vm можно подключиться к вашей основной системе. В этом случае вы будете подключаться от vm не на localhost, а на IP-адрес, который вы указали для main OS,

Или вы можете настроить MySQL к vm и переместить вашу базу данных к этому MySQL,

РЕДАКТИРОВАТЬ

Для тестирования подключения к MySQL ты можешь использовать telnet ( http://windows.microsoft.com/en-us/windows/telnet-faq). Сначала вы должны знать MySQL порт. Вы можете получить это от MySQL Конфиг или попробуйте порты из ответа @Prageeth Roshane. Затем вы должны попытаться подключиться с VirtualBox в MySQL в поисках порта. Вы можете использовать или программировать или телнет. Если у вас возникнут проблемы с подключением, попробуйте убедиться, что брандмауэр в ВМ и в основной ОС не заблокировал вашу программу (или telnet).

PS Если вы можете подключиться к MySQL с другого компьютера, но не может подключиться к виртуальной машине, тогда проблема в настройках сети виртуальной машины.

Дать PORT что ваше соединение MySQL использует как 3308 или 3306

Другие вопросы по тегам