2011-09-18 22 views
20

Qual è la lunghezza massima per una password utente MySQL?Lunghezza massima password utente MySQL

MySQL utilizza PASSWORD(str) per crittografare la password di testo non crittografato str. Questa stringa di password con hash viene archiviata nella tabella di sovvenzione mysql.user con un tipo di dati CHAR(41).

Tuttavia, non è stato possibile trovare la lunghezza massima per la password di testo non trasparente str, se disponibile. Qualcuno può aiutare?

+0

Questa non è una domanda di programmazione. Forse è meglio su ServerFault? –

+3

Usa [funzione PASSWORD] (http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_password) quindi suppongo che sarebbe circa 2G. – NiematojakTomasz

+3

questa è una domanda di programmazione – ErichBSchulz

risposta

9

Questa è la pagine di riferimento che ho trovato quando ho cercato su google: Link1 e Link2

Se si utilizza MySQL Replication, essere consapevoli del fatto che, attualmente, una password utilizzato da uno schiavo replica come parte di un'istruzione CHANGE MASTER TO è effettivamente limitata a 32 caratteri di lunghezza; se la password è più lunga, i caratteri in eccesso vengono troncati. Questo non è a causa di qualsiasi limite imposto dal server MySQL in generale, ma piuttosto è un problema specifico per MySQL Replication. (Per ulteriori informazioni, vedere Bug 43439.)

correzione documentata nel 5.7.5 changelog, come segue:

La lunghezza massima che può essere utilizzata per la password in un cambiamento MASTER PER affermazione è di 32 caratteri . In precedenza, quando veniva impiegata una password più lunga, , la lunghezza in eccesso veniva tacitamente troncata dal server dal server. Ora quando la lunghezza della password supera 32 caratteri, CHANGE MASTER TO fallisce con un errore.

Quindi suppongo che la mia password non dovrebbe contenere più di 32 caratteri.

+0

Quello sarebbe un bug _nasty_ in cui imbattervi. Sono d'accordo sul limite effettivo della lunghezza della password. – Chris