2016-01-21 11 views
15

Potrzebuję utworzyć użytkownika z sześcioznakowym hasłem w nowym MySQL na moim macu. Wiem, że najniższe ustawienie w 5.7 pozwoli tylko na osiem znaków. Czy istnieje sposób na obejście tego?Jak utworzyć sześcioznakowe hasło w MySQL 5.7

wpisuję w CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special'

To wyprowadza błąd

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 
+0

To wydaje się dziwne pytanie. Jeśli nie chcesz, aby sprawdzanie poprawności hasła było uruchamiane, nie ładuj wtyczki. – RiggsFolly

+1

Jak go nie ładować. Ponieważ pojawił się domyślnie w wersji 5.7 – user3703723

+0

Zezwalaj użytkownikom na korzystanie z [haseł/fraz] (https://xkcd.com/936/), których pragną. [Nie ograniczaj haseł] (http://jayblanchard.net/security_fail_passwords.html) –

Odpowiedz

8

Używasz urządzenia password validation plugin. Domyślnie dopuszcza tylko 8 znaków i dłuższe hasła. Ponieważ nie może sprawdzić wartości skrótu, @RiggsFolly jest poprawne, że wstępne hashowanie będzie działało.

Jeśli jednak chcesz change the options, musisz ustawić wartość zmiennej systemowej validate_password_length. Można to zrobić w pliku konfiguracyjnym lub:

SET GLOBAL validate_password_length=6; 
+2

To NIE działa w mysql 5.7.11 dla mac zainstalowanego przez napar. Ten sam błąd pojawia się nawet po zmianie opcji. –

3

Wierzę, że można dostać się wokół niego za pomocą pre zaszyfrowany hasło tak: -

CREATE USER 'newsier'@'localhost' IDENTIFIED WITH mysql_native_password 
     AS '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E'; 

Ale to robi oznacza, że ​​musisz poprawnie hash special poprawnie, zanim to będzie faktycznie ustawić hasło, które można następnie użyć wersji zwykłego tekstu.

29

Najpierw trzeba się zalogować z mysql -u root -p i sprawdzić aktualne zasady polityki przez:

# SHOW VARIABLES LIKE 'validate_password%'; 
+--------------------------------------+--------+ 
| Variable_name      | Value | 
+--------------------------------------+--------+ 
| validate_password_dictionary_file |  | 
| validate_password_length    | 5  | 
| validate_password_mixed_case_count | 1  | 
| validate_password_number_count  | 1  | 
| validate_password_policy    | MEDIUM | 
| validate_password_special_char_count | 1  | 
+--------------------------------------+--------+ 

Następnie można zmienić żadnej z powyższych zmiennych w swoim testamencie:

# SET GLOBAL validate_password_length = 5; 
# SET GLOBAL validate_password_number_count = 0; 
# SET GLOBAL validate_password_mixed_case_count = 0; 
# SET GLOBAL validate_password_special_char_count = 0; 

Wreszcie można utworzyć bazę danych i użytkownika dostępu do niego z prostszej hasło:

# CREATE DATABASE test1; 
# GRANT ALL PRIVILEGES ON test1.* TO [email protected] IDENTIFIED BY "pass1"; 
# FLUSH PRIVILEGES; 

Po tym można zalogować się za pomocą hasła mysql -u user1 -p test1pass1

5

MySQL 5.7+ domyślnie haves system walidacji Hasło. W przypadku, gdy nie chcesz ściśle przestrzegać zasad i musisz przypisać własne, po prostu wyłącz walidację hasła i ponownie uruchom proces mysqld .

Edit my.cnf file:

vi /etc/my.cnf 

w [mysqld]

validate-password=off 

Zapisz plik, a następnie restart proces

sudo service mysqld restart 
or 
systemctl restart mysqld 

, a następnie zmień hasło root, używając poniższych instrukcji i postępuj zgodnie z instrukcjami, które nie powodują wyjątków dla hasła głównego.

mysql_secure_installation 
or 
/usr/bin/mysql_secure_installation 

Jeśli robisz instalację po razpierwszy i chcą poznać tymczasowe hasło następnie użyć następujących czynności, aby znaleźć hasło raz pierwszy:

grep 'temporary password' /var/log/mysqld.log 

Let ja znam twoje komentarze na tym samym, w poniższym polu komentarza.

3

Jest możliwe, aby całkowicie wyłączyć hasło „wtyczki”, który wydaje się zbyt surowe, uruchamiając następujące: uninstall plugin validate_password

Jeżeli trzeba go ponownie można włączyć go ponownie poprzez: INSTALL PLUGIN validate_password SONAME 'validate_password.so'

Opcjonalnie można go wyłączyć, należy ustawić hasło i ponownie włączyć go:

uninstall plugin validate_password; 
CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special'; 
INSTALL PLUGIN validate_password SONAME 'validate_password.so'; 

Dalsze czytanie:

-1

To może pomóc:

GRANT ALL ON wordpress.* TO 'user'@'localhost' IDENTIFIED WITH mysql_native_password AS'yourpassword';

1

Sprawdź zasady polityki aktualne hasło przez

SHOW VARIABLES LIKE 'validate_password%'; 

teraz ustawić nowy v alue tej zmiennej:

SET GLOBAL validate_password_length = 6 // that you like 
SET GLOBAL validate_password_policy = 'LOW'