Подключиться удаленно к 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