Как я могу подключиться C# к MySQL с виртуальной машины? - PullRequest
0 голосов
/ 17 апреля 2020

Я установил виртуальную машину Linux на Azure, развернул веб-сервер Apache и MySQL. У меня есть приложение C#, которое я хочу подключить к базе данных MySQL с моей виртуальной машины. Я установил соединитель MySQL и следовал следующим инструкциям:

   string connString = "Database=Virtual Machine IP;port=3306;username=root;password=;database=testing";
            MySqlConnection conn = new MySqlConnection(connString);
            MySqlCommand command = conn.CreateCommand();
            command.CommandText = "Select * from Company";
            try
            {
                Console.WriteLine("Connecting to MySQL...");
                conn.Open();               
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            MySqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                Console.WriteLine(reader["CompanyID"].ToString());
            }
            Console.ReadLine();

Но он не работает, когда я получаю эту ошибку: «Невозможно подключиться к любому из указанных MySQL хостов»., Поэтому соединение не было успешно, кто-нибудь знает, как это сделать?

PS Я пробовал код с моей базой данных с локального хоста, и он работал.

1 Ответ

0 голосов
/ 17 апреля 2020

Для ошибки, вероятно, вам нужно включить MySQL порт 3306 в правиле входящего порта NSG. См. Этот документ: Как открыть порты для виртуальной машины с помощью портала Azure .

Например, добавьте порт 3306 в диапазонах целевых портов и добавьте ваш клиент publi c IP-адрес к исходным IP-адресам в виртуальной сети --- сети --- правила входящего порта.

enter image description here

...