Blog


Nowości w MySQL 8.4: Brak domyślnego wsparcia dla wtyczki mysql_native_password

Tagi: bazy danych Dodano 2024-10-07

Wraz z wydaniem MySQL 8.4, pojawiła się istotna zmiana, która może zaskoczyć wielu administratorów baz danych i programistów. Domyślnie wyłączona została bowiem wtyczka mysql_native_password, używana do uwierzytelniania w MySQL. W poprzednich wersjach MySQL była ona domyślnym mechanizmem uwierzytelniania, jednak w nowej wersji silnika zrezygnowano z niej na rzecz nowszych i bardziej bezpiecznych metod, takich jak caching_sha2_password.

Dlaczego wtyczka mysql_native_password została wyłączona?

Decyzja ta wynika z faktu, że mysql_native_password jest starszym mechanizmem uwierzytelniania, który ma ograniczenia w zakresie bezpieczeństwa, zwłaszcza w porównaniu z nowszymi metodami. Wtyczka caching_sha2_password, wprowadzona w MySQL 8.0, oferuje lepsze zabezpieczenia, jest bardziej odporna na ataki brute-force oraz zapewnia wsparcie dla nowoczesnych standardów bezpieczeństwa.

Jak aktywować wtyczkę mysql_native_password?

Jeśli korzystasz z aplikacji lub środowisk, które wciąż wymagają tej wtyczki (np. starsze wersje aplikacji, które nie są kompatybilne z caching_sha2_password), możesz ponownie ją aktywować, wykonując kilka prostych kroków:

  1. Zaktualizuj konfigurację MySQL: Otwórz plik konfiguracyjny MySQL (np. my.cnf lub my.ini), a następnie dodaj lub zmodyfikuj sekcję [mysqld], aby włączyć mysql_native_password.

     
    [mysqld] default_authentication_plugin = mysql_native_password

     

  2. Uruchom ponownie MySQL: Po zapisaniu zmian, uruchom ponownie serwer MySQL, aby wprowadzone ustawienia zaczęły obowiązywać.

  3. Zmień wtyczkę dla istniejących użytkowników (jeśli konieczne): Jeśli masz już użytkowników, których wtyczka autoryzacyjna to caching_sha2_password, ale chcesz, aby korzystali oni z mysql_native_password, możesz zmienić ją dla tych kont przy użyciu poniższego polecenia SQL:

    ALTER USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password'; 

     

  4. Tworzenie nowych użytkowników: Tworząc nowych użytkowników, możesz także od razu ustawić dla nich mysql_native_password jako domyślną wtyczkę:

     
    CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';

     

Czy powinieneś używać mysql_native_password?

Choć MySQL 8.4 pozwala na korzystanie z mysql_native_password, warto rozważyć przejście na nowsze metody uwierzytelniania, takie jak caching_sha2_password. Zazwyczaj są one bardziej bezpieczne i oferują lepszą zgodność z nowoczesnymi środowiskami. Jeśli jednak Twoja aplikacja lub infrastruktura wymaga korzystania z mysql_native_password, powyższe kroki pomogą Ci przywrócić tę funkcjonalność.

Podsumowanie

Zmiana domyślnej wtyczki uwierzytelniania w MySQL 8.4 to kolejny krok w kierunku zwiększenia bezpieczeństwa i zgodności z nowoczesnymi standardami. mysql_native_password pozostaje dostępna, ale wymaga ręcznej konfiguracji. Jeśli Twoje środowisko wymaga starszej wtyczki, zastosowanie powyższych instrukcji umożliwi łatwą aktywację mysql_native_password w nowej wersji MySQL.

Napisz!


Napisz już teraz na hello@besmartand.pro, a skontaktujemy się z Tobą niezwłocznie.


BeSmartAnd.Pro sp. z o. o.

Ul. Hoża 86/410, 00-682 Warszawa

NIP: 7831881231

REGON: 525399139