Uwierzytelnianie za pomocą starego hasła nie jest już obsługiwane, użyj haseł w stylu 4.1
Mam swoją stronę z hostgatorem i chcę uzyskać dostęp do bazy danych mysql za pomocą aplikacji Windows C #, ale gdy próbowałem się połączyć, otrzymałem tę wiadomość:
„Uwierzytelnianie za pomocą starego hasła nie jest już obsługiwane, użyj hasła stylu 4.1”
Próbowałem danego rozwiązania:
SET SESSION old_passwords=0;
SET PASSWORD FOR user@host=PASSWORD('your pw here');
pierwsze zapytanie zostało wykonane pomyślnie, ale wystąpił błąd „Odmowa dostępu dla użytkownika @ hosta” podczas wykonywania drugiego zapytania. Nie mogę zrozumieć, dlaczego jest ten problem. Używam połączenia MySQL-net 6.6.5.
Udało mi się połączyć moją bazę danych z MySql Workbench 5.2.47.
Czy ktoś może mi pomóc, co mogę zrobić więcej?
Skontaktowałem się z moim serwisem hostingowym i wprowadzili zmiany w pliku my.cnf, aby użyć hasła stylu 4.1. i jestem w stanie połączyć się z mysql
mysql -u <username> -p <password> -h <hostname>;
ale kiedy próbowałem połączyć się z C # z łącznikiem mySQL net 6.6.5 ponownie otrzymałem ten błąd.
Korzystam z programu Visual Studio 2012 ze złączem MySQL 6.6.5 w systemie Windows 8 64-bit. to jest kod, którego użyłem do połączenia
using MySQL.Data.MySQLClient;
private void button1_Click(object sender, EventArgs e)
{
string connStr = String.Format("server={0};port={1};uid={2};password={3};database={4}",
txtserver.Text, txtPort.Text, txtUser.Text, txtPassword.Text, txtDatabase.Text);
conn = new MySqlConnection(connStr);
try
{
conn.Open();
MessageBox.Show("Test Connection Succeded");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
}
Nie mogę zrozumieć, gdzie jest problem. Proszę pomóż mi