Métodos de pago Abuse

Corregir error SET PASSWORD no tiene significado para el usuario root@localhost

18.01.2023, 15:34

A veces durante la instalación de MySQL el usuario no establece la contraseña de root, entonces se utiliza el método unix_socket como autorización. Si se utiliza esta autorización, sólo un superusuario del sistema o un usuario con privilegios sudo podrá autenticarse como usuario root.

Al usar mysql_secure_installation, se intentará cambiar la contraseña, en cuyo caso obtendrás un error de mysql SET PASSWORD has no significance for user'root'@'localhost'. Vamos a contarte cómo solucionarlo y eliminarlo más adelante.

Eliminando el error

El nombre completo del error es el siguiente:

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.

El error se traduce como:

"No tiene sentido ejecutar el método SET PASSWORD para'root'@'localhost' porque el método de autorización seleccionado no admite guardar datos de autorización. Si desea cambiar los parámetros de autorización utilice ALTER USER".

El método de autorización unix_socket no guarda contraseñas, no realiza la autorización mediante contraseña, sino que comprueba si un determinado usuario cumple las condiciones de superusuario. Y no hay forma de que un usuario simplemente omita establecer la contraseña de root (si no se ha establecido). Esta es la razón por la que el software no te permite continuar. Puedes solucionar el problema conectándote a MySQL.

También es necesario cambiar el método de autorización y la contraseña al mismo tiempo:

sudo mysql

En el entorno SQL, debe ejecutar el siguiente comando:

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

Cierre el cliente MySQL con el comando:

exit;

Después de ejecutar mysql_secure_installation, introduzca la contraseña de root. Entonces podrá terminar la configuración sin problemas. Tenga en cuenta que después de eso podrá conectarse a mysql usando sudo sin contraseña, porque el método de autorización por contraseña está activado. Para volver a la configuración anterior después de mysql_secure_installation, conéctese a MySQL.

Utilice la contraseña y ejecutar:

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

Eso es todo - la instrucción está completa.