Acceso MySQL denegado por el usuario 'root'@'localhost'

Acceso MySQL denegado por el usuario 'root'@'localhost'
"Uno de los errores más comunes encontrados por los usuarios de MySQL es" MySQL Access denegado por el usuario 'root'@'localhost'."Y si eres un nuevo usuario de MySQL o un NewB, conociendo las diversas técnicas para resolverlo es ventajoso.

Usando esta guía, descubrirá tres métodos para resolver este error."

Qué significa este error?

La mejor manera de entender este error es dividirlo en componentes únicos. Este error ocurre cuando intenta iniciar sesión en su instancia de MySQL en su máquina local, de ahí 'localhost.'

Un ejemplo es como se muestra:

$ mysql -u root -p

Los componentes del error son los siguientes:

  1. Error 1045 (28000): se refiere al código de error y SQLState, respectivamente. Por ejemplo, en MySQL y MariadB, el código de error 1045 significa acceso denegado para ese nombre de usuario con la contraseña especificada.
  2. El segundo es la cadena de mensajes. El mensaje de error sigue el formato: Acceso denegado para el usuario '%s'@'%s' (usando la contraseña:%s).

Nota: El primer %s en el mensaje de error se refiere al nombre de usuario, mientras que el segundo se refiere al host.

Solución 1: sudo en mysql

El primer y más común método para resolver este error es sudo en su instancia de MySQL y establecer el Auth_Plugin en MySQL_NATIVE_PASSWORD.

Abra su terminal y ejecute:

$ sudo mysql

Ingrese la contraseña para la cuenta y continúe.

A continuación, cambie el AUTH_PLUGIN y establezca una nueva contraseña para la cuenta raíz como se muestra:

Alterar el usuario 'root@localhost' identificado con mysql-native_password por 'contraseña';

Cambiar el complemento de autenticación le permitirá iniciar sesión en su servidor.

A continuación, enjuague los privilegios para actualizar las tablas de subvención:

Privilegios de descarga;

Finalmente, salga del terminal e intente iniciar sesión:

$ mysql -u root -p

SOLUCIÓN 2- Editar manualmente el archivo de configuración

Si el error persiste, es posible que deba editar el archivo de configuración de MySQL. En la mayoría de los casos, está bajo el nombre de mi.CNF en los directorios /etc o /etc /mysql.

Localice este archivo en la carpeta de instalación de MySQL para usuarios de Windows y Mac.

Si el archivo no existe, crealo.

Abra el archivo con su editor de texto y localice el bloque MySQLD.

$ nano/etc/mysql/my.CNF

En el bloque [MySQLD], agregue la siguiente entrada.

tablas de otorgadoras

Cierra y guarda el archivo.

A continuación, reinicie el servidor mysql e inicie sesión.

$ sudo servicio mysql reiniciar
$ mysql -u root -p

Una vez iniciado, enjuague los privilegios y establezca una nueva contraseña:

Privilegios de descarga;
Alterar el usuario 'root@localhost' identificado por 'contraseña';

Asegúrese de reemplazar el comando anterior con una contraseña segura.

Una vez completado, edite mi.archivo cnf y eliminar la entrada que agregamos anteriormente.

Reinicie el servidor MySQL e inicie sesión con su nueva contraseña.

Solución 3 - Inicie MySQL en modo seguro

MySQL le proporciona la utilidad mysqld_safe para iniciar el servidor mysql. Esta utilidad nos permite especificar características seguras al comenzar y reiniciar el servidor para diagnosticar errores.

Comience por detener el servidor MySQL.

$ sudo servicio mysql stop

A continuación, comience MySQL sin autenticación como;

$ mysqld_safe--skip-grant-mesas &

El comando iniciará el servidor en segundo plano como un trabajo.

Una vez que el demonio se esté ejecutando (con autenticación deshabilitada), abra un nuevo terminal y ejecute:

$ mysql -u root -p

El comando anterior debe permitirle iniciar sesión sin contraseña.

Una vez iniciado sesión, enjuague los privilegios y establezca una nueva contraseña como:

Privilegios de descarga;
Alterar el usuario 'root@localhost' identificado por 'contraseña';

Cierre la sesión y reinicie mysql.

Ahora inicie sesión en su servidor con su nueva contraseña.

Clausura

En este artículo, cubrimos tres métodos principales para resolver el

"Acceso mySQL denegado por el usuario 'root@localhost'" Error.

Esperamos que este tutorial te ayude a resolver este error.