Metodi di pagamento Abuse

Correggere l'errore SET PASSWORD non ha significato per l'utente root@localhost

18.01.2023, 15:34

A volte durante l'installazione di MySQL l'utente non imposta la password di root, quindi viene utilizzato il metodo unix_socket come autorizzazione. Se viene utilizzata questa autorizzazione, solo un superutente del sistema o un utente con privilegi sudo sarà in grado di autenticarsi come utente root.

Quando si utilizza mysql_secure_installation, si tenterà di cambiare la password, nel qual caso si otterrà un errore da mysql SET PASSWORD has no significance for user'root'@'localhost'. Vediamo come risolverlo ed eliminarlo ulteriormente.

Eliminare l'errore

Il nome completo dell'errore è il seguente:

SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

L'errore è tradotto come:

"Non ha senso eseguire il metodo SET PASSWORD per'root'@'localhost' perché il metodo di autorizzazione selezionato non supporta il salvataggio dei dati di autorizzazione. Se si desidera modificare i parametri di autorizzazione, utilizzare ALTER USER".

Il metodo di autorizzazione unix_socket non salva le password, non esegue l'autorizzazione tramite password, ma verifica se un particolare utente soddisfa le condizioni di superutente. E non c'è modo per un utente di saltare semplicemente l'impostazione della password di root (se non è stata impostata). Per questo motivo il software non consente di procedere. È possibile risolvere il problema collegandosi a MySQL.

È inoltre necessario modificare contemporaneamente il metodo di autorizzazione e la password:

sudo mysql

Nell'ambiente SQL, è necessario eseguire il seguente comando:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Chiudere il client MySQL con il comando:

exit;

Dopo aver eseguito mysql_secure_installation, inserire la password di root. A questo punto è possibile terminare la configurazione senza problemi. Si noti che in seguito sarà possibile connettersi a mysql utilizzando sudo senza password, perché il metodo di autorizzazione della password è attivato. Per tornare alle impostazioni precedenti dopo l'installazione di mysql_secure, collegarsi a MySQL.

Utilizzate la password ed eseguite:

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

Tutto qui: l'istruzione è completa.