Я работаю над старым (er) приложением, которое подключено к сторонней базе данных MySQL; код содержит следующее:
MySqlConnection conn = new MySqlConnection(_oSconnection);
conn.Open();
DataSet ds = new DataSet();
MySqlDataAdapter adapter = new MySqlDataAdapter(sqlQuery, conn);
adapter.Fill(ds, "DataRecords");
conn.Close();
Где строка подключения имеет формат:
server=<ip>;port=3306;userid=<username>;password=<password>;database=myDB
Когда я запускаю это, приложение разрывается в строке conn.Open();
, с следующая ошибка:
Authentication to host '<ip>' for user '<username>' using method 'mysql_native_password' failed with message: Access denied for user '<username>'@'<myIp>' (using password: YES)
При исследовании ошибки единственные ответы, которые я могу найти, похоже, предполагают, что ее следует исправить, изменив переключение базы данных на менее безопасные, более старые версии MySQL / Connector ( что кажется неправильным подходом) или предложение представляет собой некоторую комбинацию следующих строк, ни одна из которых не решает проблему.
SET SESSION old_passwords=0;
SET SESSION old_passwords=FALSE;
SET PASSWORD FOR <username> = OLD_PASSWORD('<password>');
SET PASSWORD FOR <username> = PASSWORD('<password>');
Мое приложение, работающее в Windows 10, находится в Visual Studio 2017 (Framework 4.6.1), с подключением MySQL / Connector версии 8.0.19 к базе данных, которая является 10.1.22-MariaDB
Буду признателен за совет о том, как заставить работать такое простое соединение / запрос, не возвращаясь к OLD установки.