2016-01-21 22 views
15

Ho bisogno di creare un utente con una password di sei caratteri nel nuovo MySQL sul mio mac. So che l'impostazione più bassa in 5.7 consentirà solo otto caratteri. C'è un modo per aggirare questo?Come creare una password di sei caratteri in MySQL 5.7

digito CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special'

Emette l'errore

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

Questa sembra una domanda strana. Se non si desidera eseguire la convalida della password, non caricare il plug-in – RiggsFolly

+1

Come non caricarlo. Perché è visualizzato come predefinito in 5.7 – user3703723

+0

Consenti agli utenti di utilizzare [password/frasi] (https://xkcd.com/936/) che desiderano. [Non limitare le password] (http://jayblanchard.net/security_fail_passwords.html) –

risposta

8

Si sta utilizzando password validation plugin. Per impostazione predefinita, consente solo 8 caratteri e password più lunghe. Poiché non è possibile controllare il valore di un hash, @RiggsFolly è corretto per il pre-hashing della password.

Tuttavia, se si desidera change the options, è necessario impostare il valore della variabile di sistema validate_password_length. È possibile farlo nel file di configurazione o:

SET GLOBAL validate_password_length=6; 
+2

Questo NON sembra funzionare in mysql 5.7.11 per mac installato tramite brew. Ottengo lo stesso errore anche dopo aver cambiato le opzioni. –

3

io credo che si possa ottenere intorno ad esso utilizzando un pre hash della password in questo modo: -

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

Ma che fa significa che è necessario hash special correttamente prima che questo in realtà imposti una password che è quindi possibile utilizzare la versione in testo normale di.

29

Per prima cosa è effettuare il login con mysql -u root -p e controllare le regole di politica correnti:

# 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  | 
+--------------------------------------+--------+ 

Quindi è possibile modificare le variabili di cui sopra alla vostra volontà:

# 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; 

Infine è possibile creare un database e un utente che accede con una password semplice:

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

Dopo di che si può effettuare il login con mysql -u user1 -p test1 utilizzando la password pass1

5

MySQL 5.7+ di default abbienti un sistema di validazione password. Nel caso in cui se non si vuole andare rigorosamente con la politica e la necessità di assegnare il proprio allora basta disabilitare la convalida della password e riavviare il processo mysqld.

Modifica my.cnf di file:

vi /etc/my.cnf 

in [mysqld]

validate-password=off 

Salvare il file e quindi riavviare il processo

sudo service mysqld restart 
or 
systemctl restart mysqld 

e quindi modificare la password di root utilizzando quanto segue e seguire i passaggi che non genererà eccezioni per la password di root.

mysql_secure_installation 
or 
/usr/bin/mysql_secure_installation 

Se si sta facendo installazione per la prima volta e desidera conoscere il password temporanea quindi utilizzare il seguente per trovare la password prima volta:

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

Let conosco i tuoi commenti sullo stesso, nella casella di commento qui sotto.

3

E 'possibile disabilitare del tutto la password "plug-in" che sembra eccessivamente rigorosa eseguendo il seguente: uninstall plugin validate_password

Se avete bisogno di nuovo è possibile riaccenderlo tramite: INSTALL PLUGIN validate_password SONAME 'validate_password.so'

Opzionalmente, si potrebbe disabilitarlo, impostare la password e riattivarla:

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

Ulteriori approfondimenti:

-1

Questo potrebbe aiutare:

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

1

Controlla regole di politica password corrente da

SHOW VARIABLES LIKE 'validate_password%'; 

Ora impostare un nuovo v alore di quelle variabili:

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