Jaka jest Twoja polityka haseł? Możesz sprawdzić zmienne, które zostały ustawione dla twojego modułu sprawdzania poprawności hasła, używającSHOW VARIABLES LIKE 'validate_password%'
JNevill
Dzięki! Ustawiłem niższy poziom polityki haseł i działa.
Nguyen
1
Rozwiązałem swój problem za pomocąUNINSTALL COMPONENT 'file://component_validate_password';
princebillyGK
Odpowiedzi:
244
Z powodu twojego hasła. Możesz zobaczyć metryki konfiguracji sprawdzania poprawności hasła za pomocą następującego zapytania w kliencie MySQL:
Powinieneś cytować oficjalną dokumentację MySQL , a nie film z YouTube, na miłość boską.
Markiz Lorne
26
Użyj następującego polecenia, aby użyć SET GLOBAL validate_password_policy = 0;
``
4
SET GLOBAL validate_password.length = 6; SET GLOBAL validate_password.number_count = 0; AKTUALIZACJA !!
BeatingBytes
6
to po prostu raczejSET GLOBAL validate_password.policy = 0;
iamtodor
1
Było to pomocne, ponieważ faktycznie pokazało mi, dlaczego moje 30-znakowe hasło było „słabe” (bez znaku specjalnego). Udało mi się usunąć wymóg znaków specjalnych i zwiększyć minimalną długość z 8 do 20.
andrewtweber
68
UWAGA: To może nie być bezpieczne rozwiązanie. Ale jeśli pracujesz w środowisku testowym, potrzebujesz tylko szybkiej poprawki i nie przejmujesz się nawet ustawieniami zabezpieczeń. To szybkie rozwiązanie.
Ten sam problem przytrafił mi się, gdy uruchomiłem „mysql_secure_installation” i zmieniłem poziom bezpieczeństwa hasła na „średni”.
Pominąłem błąd, wykonując następujące czynności:
mysql -h localhost -u root -p
mysql>uninstall plugin validate_password;
upewnij się, że w razie potrzeby ponownie zainstalowałeś wtyczkę „validate_password”.
Po uruchomieniu polecenia sudo mysql_secure_installation.
Uruchom, sudo mysqlaby wejść do znaku zachęty mysql.
Uruchom to, SELECT user,authentication_string,plugin,host FROM mysql.user;aby sprawdzić, czy użytkownik root ma jako wtyczkę auth_socket .
Następnie uruchom, uninstall plugin validate_password;aby usunąć uprawnienia przed uruchomieniem tego ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';Pamiętaj, aby zmienić hasło na silne hasło.
W przypadku MySql 8 możesz użyć następującego skryptu:
SET GLOBAL validate_password.LENGTH =4;SET GLOBAL validate_password.policy =0;SET GLOBAL validate_password.mixed_case_count =0;SET GLOBAL validate_password.number_count =0;SET GLOBAL validate_password.special_char_count =0;SET GLOBAL validate_password.check_user_name =0;ALTERUSER'user'@'localhost' IDENTIFIED BY'pass';
FLUSH PRIVILEGES;
Moim zdaniem ustawienie „validate_password_policy” na „low” lub odinstalowanie „validate password plugin” nie jest właściwe. Nigdy nie możesz rezygnować z bezpieczeństwa swojej bazy danych (chyba, że naprawdę cię to nie obchodzi). Zastanawiam się, dlaczego ludzie w ogóle sugerują te opcje, skoro wystarczy wybrać dobre hasło.
Aby rozwiązać ten problem, wykonałem następujące polecenie w mysql: POKAŻ ZMIENNE LIKE 'validate_password%' zgodnie z sugestią @JNevill. Moje „validate_password_policy” zostało ustawione na Medium, razem z innymi rzeczami. Oto zrzut ekranu z jego wykonania: Sprawdź poprawność polityki haseł
Wynik jest oczywisty. Dla prawidłowego hasła (gdy polityka haseł jest ustawiona na średni):
Hasło musi mieć co najmniej 8 znaków
Liczba znaków mieszanych to 1 (co najmniej 1 mała litera i 1 wielka litera)
Liczba to 1
Minimalna liczba znaków specjalnych to 1
Dlatego prawidłowe hasło musi być zgodne z zasadami. Przykładami poprawnych haseł do powyższych zasad mogą być:
Student123 @
NINZAcoder 100 USD
DemoPass # 00
Możesz wybrać dowolną kombinację, o ile jest ona zgodna z zasadami.
W przypadku innych „validate_password_policy” możesz po prostu poszukać wartości dla różnych opcji i odpowiednio dobrać hasło (nie próbowałem użyć „STRONG” ).
Jest MOCNA dla najlepszych zasad dotyczących haseł.
Gracz Steam
Nie rozumiem też osób sugerujących przejście validate_password_policyna LOW. Użytkownicy mogą doskonale stworzyć lub wygenerować silne hasło spełniające wymagania. Jeśli nie jesteś pewien, jak to zrobić, użyj odpowiedniego narzędzia. Na przykład github.com/joseluisq/rpasswd
Miałem ten sam problem, a odpowiedź jest tuż przed tobą, pamiętaj, kiedy uruchomiłeś skrypt podczas instalacji mysql jak
sudo mysql_secure_installation
tam gdzieś wybrałeś jaki typ hasła chciałbyś wybrać
Istnieją trzy poziomy zasad sprawdzania poprawności haseł:
LOW Length> = 8 MEDIUM Length> = 8, numeryczne, mieszane wielkości liter i znaki specjalne STRONG Długość> = 8, numeryczne, mieszane wielkości liter, znaki specjalne i plik słownika
Wpisz 0 = NISKI, 1 = ŚREDNI i 2 = MOCNY:
musisz podać hasło do tej samej polityki
oto kilka przykładowych przykładów haseł:
dla typu 0: abcdabcd
dla typu 1: abcd1234
dla typu 2:ancd@1234
Problem polega na tym, że Twoje hasło nie będzie zgodne z regułami sprawdzania poprawności hasła. Możesz wykonać poniższe czynności, aby rozwiązać problem.
Możesz po prostu zobaczyć macierz konfiguracji sprawdzania poprawności hasła, wpisując poniższy kod.
mysql-> SHOW VARIABLES LIKE'validate_password%';
Następnie w macierzy można znaleźć poniżej zmiennych z odpowiadającymi im wartościami i tam masz do wyboru validate_password_length, validate_password_number_counti validate_password_policy.
Sprawdź wartości użyte dla tych zmiennych. Upewnij się, że validate_password_lengthnie powinno być większe niż 6. Możesz ustawić to na 6, używając poniższego kodu.
SET GLOBAL validate_password_length =6;
A potem musisz ustawić validate_password_number_countna 0. Zrób to używając poniższego kodu.
SET GLOBAL validate_password_number_count =0;
Wreszcie trzeba ustawić się validate_password_policydo low. Posiadanie tego jako Mediumlub Highnie zezwala na mniej bezpieczne hasła. Ustaw to lowwedług poniższego kodu.
nie działało dla mnie na nowej instalacji mysqld w Ubuntu, musiałem dodać to: do /etc/mysql/mysql.conf.d/mysqld.cnf lub serwer nie mógł się uruchomić (zgadnij, że wtyczka nie załadowała się na we właściwym czasie, kiedy po prostu dodałem go bez dyrektywy plugin-load-add)
Są chwile, w których znalezienie szybkiego rozwiązania jest świetne. Ale jeśli możesz uniknąć niskich ograniczeń dotyczących haseł, może to uchronić Cię przed dużym bólem głowy w przyszłości.
Jedynym problemem, jaki masz, jest to, że twoje hasło nie jest wystarczająco silne, aby spełnić rzeczywistą minimalną politykę (nie zaleca się usuwania). Możesz więc wypróbować różne hasła, jak widać w przykładzie.
Chociaż ten kod może rozwiązać problem PO, najlepiej jest dołączyć wyjaśnienie, w jaki sposób Twój kod rozwiązuje problem PO. W ten sposób przyszli odwiedzający mogą uczyć się z Twojego postu i zastosować go do własnego kodu. SO nie jest usługą programistyczną, ale źródłem wiedzy. Również wysokiej jakości, kompletne odpowiedzi mają większe szanse na głosowanie. Te funkcje, wraz z wymogiem, aby wszystkie posty były samodzielne, są jednymi z mocnych stron SO jako platformy, która odróżnia ją od forów. Możesz edytować, aby dodać dodatkowe informacje i / lub uzupełnić wyjaśnienia o dokumentację źródłową.
SHOW VARIABLES LIKE 'validate_password%'
UNINSTALL COMPONENT 'file://component_validate_password';
Odpowiedzi:
Z powodu twojego hasła. Możesz zobaczyć metryki konfiguracji sprawdzania poprawności hasła za pomocą następującego zapytania w kliencie MySQL:
Wynik powinien wyglądać mniej więcej tak:
następnie możesz ustawić niższy poziom polityki haseł, na przykład:
sprawdź dokumentację MySQL .
źródło
SET GLOBAL validate_password_policy = 0;
SET GLOBAL validate_password.length = 6; SET GLOBAL validate_password.number_count = 0;
AKTUALIZACJA !!SET GLOBAL validate_password.policy = 0;
UWAGA: To może nie być bezpieczne rozwiązanie. Ale jeśli pracujesz w środowisku testowym, potrzebujesz tylko szybkiej poprawki i nie przejmujesz się nawet ustawieniami zabezpieczeń. To szybkie rozwiązanie.
Ten sam problem przytrafił mi się, gdy uruchomiłem „mysql_secure_installation” i zmieniłem poziom bezpieczeństwa hasła na „średni”.
Pominąłem błąd, wykonując następujące czynności:
upewnij się, że w razie potrzeby ponownie zainstalowałeś wtyczkę „validate_password”.
źródło
Jeśli nie obchodzi Cię, jakie są zasady dotyczące haseł. Możesz ustawić go na LOW, wydając poniższe polecenie mysql:
źródło
SET GLOBAL validate_password.policy=LOW;
zamiast tegoDla MySQL 8 *
SET GLOBAL validate_password.policy=LOW
Odnośnik Link do wyjaśnienia zasad - Kliknij tutaj
źródło
Po uruchomieniu polecenia
sudo mysql_secure_installation
.sudo mysql
aby wejść do znaku zachęty mysql.SELECT user,authentication_string,plugin,host FROM mysql.user;
aby sprawdzić, czy użytkownik root ma jako wtyczkę auth_socket .uninstall plugin validate_password;
aby usunąć uprawnienia przed uruchomieniem tegoALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Pamiętaj, aby zmienić hasło na silne hasło.UWAGA: sprawdź ten link https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04, aby uzyskać dodatkową pomoc
źródło
Musisz zmienić politykę haseł MySQL na LOW.
zaloguj się jako root
zmienić politykę
lub
wyjście
zrestartuj usługę MySQL
Musisz zmienić politykę haseł MySQL na Niska = 0 / Średnia = 1 / Wysoka = 2.
źródło
W przypadku MySql 8 możesz użyć następującego skryptu:
źródło
Moim zdaniem ustawienie „validate_password_policy” na „low” lub odinstalowanie „validate password plugin” nie jest właściwe. Nigdy nie możesz rezygnować z bezpieczeństwa swojej bazy danych (chyba, że naprawdę cię to nie obchodzi). Zastanawiam się, dlaczego ludzie w ogóle sugerują te opcje, skoro wystarczy wybrać dobre hasło.
Aby rozwiązać ten problem, wykonałem następujące polecenie w mysql: POKAŻ ZMIENNE LIKE 'validate_password%' zgodnie z sugestią @JNevill. Moje „validate_password_policy” zostało ustawione na Medium, razem z innymi rzeczami. Oto zrzut ekranu z jego wykonania: Sprawdź poprawność polityki haseł
Wynik jest oczywisty. Dla prawidłowego hasła (gdy polityka haseł jest ustawiona na średni):
Dlatego prawidłowe hasło musi być zgodne z zasadami. Przykładami poprawnych haseł do powyższych zasad mogą być:
Możesz wybrać dowolną kombinację, o ile jest ona zgodna z zasadami.
W przypadku innych „validate_password_policy” możesz po prostu poszukać wartości dla różnych opcji i odpowiednio dobrać hasło (nie próbowałem użyć „STRONG” ).
https://dev.mysql.com/doc/refman/5.6/en/validate-password-options-variables.html
źródło
validate_password_policy
naLOW
. Użytkownicy mogą doskonale stworzyć lub wygenerować silne hasło spełniające wymagania. Jeśli nie jesteś pewien, jak to zrobić, użyj odpowiedniego narzędzia. Na przykład github.com/joseluisq/rpasswdKrok 1: Sprawdź domyślną wtyczkę uwierzytelniającą
Krok 2: weryfikacja wymagań dotyczących weryfikacji hasła
Krok 3: Skonfiguruj użytkownika z poprawnymi wymaganiami dotyczącymi hasła
źródło
Miałem ten sam problem, a odpowiedź jest tuż przed tobą, pamiętaj, kiedy uruchomiłeś skrypt podczas instalacji mysql jak
sudo mysql_secure_installation
tam gdzieś wybrałeś jaki typ hasła chciałbyś wybrać
Istnieją trzy poziomy zasad sprawdzania poprawności haseł:
LOW Length> = 8 MEDIUM Length> = 8, numeryczne, mieszane wielkości liter i znaki specjalne STRONG Długość> = 8, numeryczne, mieszane wielkości liter, znaki specjalne i plik słownika
Wpisz 0 = NISKI, 1 = ŚREDNI i 2 = MOCNY:
musisz podać hasło do tej samej polityki
oto kilka przykładowych przykładów haseł:
dla typu 0:
abcdabcd
dla typu 1:
abcd1234
dla typu 2:
ancd@1234
źródło
Dla użytkowników Laravel, którzy mają ten problem z MySQL 8.0.x, dodaj
do pliku database.php, jak poniżej:
Naprawiło to dla mnie.
źródło
Problem polega na tym, że Twoje hasło nie będzie zgodne z regułami sprawdzania poprawności hasła. Możesz wykonać poniższe czynności, aby rozwiązać problem.
Możesz po prostu zobaczyć macierz konfiguracji sprawdzania poprawności hasła, wpisując poniższy kod.
Następnie w macierzy można znaleźć poniżej zmiennych z odpowiadającymi im wartościami i tam masz do wyboru
validate_password_length
,validate_password_number_count
ivalidate_password_policy
.Sprawdź wartości użyte dla tych zmiennych. Upewnij się, że
validate_password_length
nie powinno być większe niż 6. Możesz ustawić to na 6, używając poniższego kodu.A potem musisz ustawić
validate_password_number_count
na 0. Zrób to używając poniższego kodu.Wreszcie trzeba ustawić się
validate_password_policy
dolow
. Posiadanie tego jakoMedium
lubHigh
nie zezwala na mniej bezpieczne hasła. Ustaw tolow
według poniższego kodu.źródło
Ustaw hasło, które spełnia 7 reguł walidacji MySql
na przykład:-
d_VX>N("xn_BrD2y
Uproszczenie nieco kryteriów walidacji rozwiąże problem
Ale zalecane Silne hasło jest poprawnym rozwiązaniem
źródło
Ten komunikat o błędzie nie ma nic wspólnego z hasłem przechowywanym w Twojej tabeli. Występuje również, jeśli wpiszesz (w konsoli SQL)
„wybierz hasło ('123456789')”
albo jeśli
„wybierz hasło ('A123456789')”
albo jeśli
„wybierz hasło ('A! 123456789')”
Jeśli wpiszesz
„wybierz hasło ('A! a123456789')”
wtedy to zadziała. Po prostu użyj dużych + małych liter, specjalnych znaków i cyfr, aby utworzyć hasło.
Możesz wyłączyć te kontrole w my.cnf, ale wtedy będziesz mieć zagrożenie bezpieczeństwa!
w [mysqld] dodaj:
źródło
nie działało dla mnie na nowej instalacji mysqld w Ubuntu, musiałem dodać to: do /etc/mysql/mysql.conf.d/mysqld.cnf lub serwer nie mógł się uruchomić (zgadnij, że wtyczka nie załadowała się na we właściwym czasie, kiedy po prostu dodałem go bez dyrektywy plugin-load-add)
źródło
Są chwile, w których znalezienie szybkiego rozwiązania jest świetne. Ale jeśli możesz uniknąć niskich ograniczeń dotyczących haseł, może to uchronić Cię przed dużym bólem głowy w przyszłości.
Następny link pochodzi z oficjalnej dokumentacji https://dev.mysql.com/doc/refman/5.6/en/validate-password.html , gdzie ujawniają przykład dokładnie taki jak twój i rozwiązują go.
Jedynym problemem, jaki masz, jest to, że twoje hasło nie jest wystarczająco silne, aby spełnić rzeczywistą minimalną politykę (nie zaleca się usuwania). Możesz więc wypróbować różne hasła, jak widać w przykładzie.
źródło
POKAŻ ZMIENNE TAKIE JAK 'validate_password%';
mysql> SET GLOBAL validate_password.length = 6;
mysql> SET GLOBAL validate_password.number_count = 0;
mysql> SET GLOBAL validate_password.policy = LOW;
POKAŻ ZMIENNE TAKIE JAK 'validate_password%';
źródło
źródło