Wygląda na to, że mogłem nieumyślnie załadować wtyczkę do sprawdzania hasła w MySQL 5.7. Wydaje się, że ta wtyczka wymusza zgodność wszystkich haseł z określonymi regułami.
Chciałbym to wyłączyć.
Próbowałem zmienić zmienną validate_password_length zgodnie z sugestią tutaj, ale bezskutecznie.
mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'app' = PASSWORD('abcd');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Chciałbym albo wyładować wtyczkę, albo jakoś ją wykastrować.
SET GLOBAL validate_password_policy=LOW;
SET GLOBAL validate_password.policy=LOW;
Odpowiedzi:
Oto, co robię, aby usunąć wtyczkę walidacji hasła:
mysql -h localhost -u root -p
uninstall plugin validate_password;
UNINSTALL COMPONENT 'file://component_validate_password';
źródło
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
grep 'password' /var/log/mysqld.log | tail -1
a następnie/usr/bin/mysql_secure_installation
. Po wykonaniu tej czynności możesz uruchomić polecenia z srayhunter powyżej, a następnie uruchomić,mysqladmin -u root -p'oldpassword' password newpass
aby użyć dowolnego hasła, które chcesz.cracklib_password_check
w bieżącej bazie danych MariaDB.UNINSTALL COMPONENT 'file://component_validate_password';
mysql> SET GLOBAL validate_password_policy = 0;
Używam MySQL w wersji 8.0.12, a polecenie wyłączenia komponentu sprawdzania poprawności hasła to:
Aby zainstalować go ponownie, polecenie brzmi:
Jeśli chcesz tylko zmienić politykę wtyczki do sprawdzania poprawności hasła:
źródło
Opierając się na odpowiedzi od Sharfi, edytuj plik /etc/my.cnf i dodaj tylko tę jedną linię:
Powinno to w wystarczającym stopniu zneutralizować walidację zgodnie z wnioskiem PO. Po tej zmianie prawdopodobnie zechcesz zrestartować mysqld. W zależności od systemu operacyjnego wyglądałoby to mniej więcej tak:
validate_password_policy przyjmuje wartości 0, 1 lub 2 lub słowa LOW, MEDIUM i STRONG, które odpowiadają tym liczbom. Wartością domyślną jest ŚREDNIE (1), które wymaga haseł zawierających co najmniej jedną wielką literę, jedną małą literę, jedną cyfrę i jeden znak specjalny, a całkowita długość hasła to co najmniej 8 znaków. Zmiana na LOW, jak sugeruję tutaj, sprawdzi tylko długość, która, jeśli nie została zmieniona przez inne parametry, sprawdzi długość 8. Jeśli chcesz również skrócić ten limit długości, możesz również dodać validate_password_length w do plik my.cnf.
Aby uzyskać więcej informacji o poziomach i szczegółach, zobacz dokumentację mysql .
W przypadku MySQL 8 właściwość została zmieniona z „validate_password_policy” na „validate_password.policy”. Najnowsze informacje można znaleźć w zaktualizowanym dokumencie mysql .
źródło
SET GLOBAL validate_password_policy=LOW;
Aby wyłączyć sprawdzanie hasła w mariadb-10.1.24 (Fedora 24), musiałem zakomentować linię w pliku /etc/my.cnf.d/cracklib_password_check.cnf :
następnie zrestartuj usługę mariadb:
źródło
Możesz to skonfigurowaćw pliku konfiguracyjnym mysql otwórz
/etc/my.cnf
plik W tym pliku wszystkie linie konfigurujące politykę haseł sprawiają, że komentowane są jakOdkomentuj i zmień wartość właściwości, które chcesz zmienić.
źródło
Jeśli chcesz zrobić wyjątki, możesz zastosować poniższy „hack”. Wymaga to użytkownikowi
DELETE
iINSERT
przywilej dlamysql.plugin
tabeli systemowej.Niewyraźne zastrzeżenie dotyczące bezpieczeństwa: zastanów się, dlaczego skracasz lub upraszczasz hasło, i być może rozważ zastąpienie go bardziej złożonym. Rozumiem jednak momenty „jest 3 nad ranem i po prostu trzeba pracować”, po prostu upewnij się, że nie tworzysz systemu hacków, aby nie zostać zhakowanym
źródło
W nawiązaniu do odpowiedzi od ktbos:
Zmodyfikowałem plik mysqld.cnf i nie udało się uruchomić mysql. Okazało się, że modyfikowałem zły plik!
Dlatego upewnij się, że modyfikowany plik zawiera tagi segmentów, takie jak [mysqld_safe] i [mysqld]. Pod tym ostatnim zrobiłem zgodnie z sugestią i dodałem wiersz:
To działało idealnie, aby rozwiązać mój problem z niewymaganiem znaków specjalnych w haśle.
źródło
Odinstaluj:
Odinstalowana wtyczka nie jest wyświetlana przez
show plugins;
Zainstalować:
Wyłączone przez konfigurację:
Wtyczkę można wyłączyć przez konfigurację tylko wtedy, gdy jest zainstalowana.
źródło
Miałem problem z Ubuntu 18.04 na MySQL. Kiedy potrzebowałem utworzyć nowego użytkownika, polityka była zawsze wysoka.
Sposób, w jaki wymyśliłem, jak wyłączyć, dla przyszłych kolegów, którzy przyjdą zbadać, był ustawiony na niski.
Zaloguj się do serwera mysql jako root
Ustaw nowy typ walidacji
Uruchom ponownie mysql
źródło
W niektórych instalacjach nie możesz wykonać tego polecenia, dopóki nie zresetujesz hasła roota. Nie możesz zresetować hasła roota, dopóki nie wykonasz tego polecenia. Klasyczny Catch-22.
Jednym z rozwiązań, o których inni respondenci nie wspominają, jest tymczasowe wyłączenie wtyczki poprzez konfigurację mysql. W dowolny
my.cnf
, w[mysqld]
sekcji, należy dodać:i zrestartuj serwer. Zmień hasło, ustaw wartość z powrotem na 0 i uruchom ponownie.
źródło
Aby uzyskać odniesienia i przyszłość, należy przeczytać dokument tutaj https://dev.mysql.com/doc/mysql-secure-deployment-guide/5.7/en/secure-deployment-password-validation.html
Następnie powinieneś edytować swój
mysqld.cnf
plik, na przykład:Następnie dodaj w części [mysqld], co następuje:
Zasadniczo, jeśli zmienisz ustawienia domyślne, będzie to wyglądać następująco:
Następnie możesz ponownie uruchomić:
Jeśli zapomnisz
plugin-load-add=validate_password.so
części, wystąpi błąd podczas ponownego uruchamiania.Cieszyć się !
źródło
W przypadku mysql 8.0.7 przejdź do katalogu mysql, a następnie użyj:
aby skonfigurować opcję hasła.
źródło
nie ma potrzeby zatrzymywania / uruchamiania mysql
źródło