Acceso a Mysql denegado para el usuario 'root'@ '*.*.*.*' (con contraseña: SÍ) manejo de excepciones

1. Errores anormales

PS C:\Users\10568> mysql -u root -p
Enter password: ****
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Acceso denegado significa denegación de acceso, utilizando contraseña: NO/SI si se ha ingresado una contraseña.

inserte la descripción de la imagen aquí

Dos, la razón

Una de las razones es el error de inicio automático de mysql. El número de puerto 3306 de mysql está ocupado por sí mismo. Debe cerrar el servicio de mysql y reiniciarlo. Puedo resolverlo haciendo esto. Por supuesto, también puede deberse a el usuario que no existe en el servidor MySQL intenta acceder a la base de datos. Puede consultar la pregunta de desbordamiento de pila para resolverlo.

La respuesta al desbordamiento de la pila es que, de forma predeterminada, el usuario raíz de MySQL está configurado para autenticarse mediante el complemento auth_socket en lugar de utilizar una contraseña. En muchos casos, esto permite una mayor seguridad y usabilidad, pero también complica las cosas cuando necesita permitir que programas externos (por ejemplo, phpMyAdmin) accedan a los usuarios. Para conectarse a MySQL como root usando una contraseña, debe cambiar su método de autenticación de auth_socket a mysql_native_password.
Referencia: Acceso denegado para el usuario 'root'@'localhost' (con contraseña: SÍ) - ¿Sin privilegios?: https://stackoverflow.com/questions/17975120/access-denied-for-user-rootlocalhost-using-password- sí-no-privilegios

3. Soluciones

Verifique el puerto 3306 y encuentre que el proceso PID es 5296

netstat -ano|findstr 3306

inserte la descripción de la imagen aquí

Use el comando taskkill /PID 5964 -t -fpara finalizar el proceso o finalice la tarea directamente en el administrador de tareas

reiniciar mysql después

net start mysql

inserte la descripción de la imagen aquí

Simplemente vuelva a ingresar mysql

inserte la descripción de la imagen aquí

Si es un sistema Ubuntu, puede consultar las siguientes respuestas:

Error de MySQL: 'Acceso denegado para el usuario 'root'@'localhost': https://stackoverflow.com/questions/41645309/mysql-error-access-denied-for-user-rootlocalhost
En sistemas Ubuntu que ejecutan MySQL 5.7 (y versiones posteriores), el usuario raíz
de MySQL está configurado para autenticarse mediante el complemento auth_socket de forma
predeterminada en lugar de una contraseña. Esto permite mayor
seguridad y facilidad de uso en muchos casos, pero también puede complicar
las cosas cuando necesita permitir que un programa externo (por ejemplo, phpMyAdmin)
acceda al usuario.

Para usar una contraseña para conectarse a MySQL como root, deberá
cambiar su método de autenticación de auth_socket a
mysql_native_password. Para hacer esto, abra el indicador de MySQL desde su
terminal:

sudo mysql

A continuación, compruebe qué método de autenticación
utiliza cada una de sus cuentas de usuario de MySQL con el siguiente comando:

SELECCIONE usuario,authentication_string,plugin,host FROM mysql.user;

Producción

±-----------------±------------------------------- -----------±----------------------±----------+ | usuario | cadena_autenticación |
complemento | anfitrión |
±-----------------±------------------------------- -----------±----------------------±----------+ | raíz | |
enchufe_autenticación | servidor local | | mysql.sesión |
*ESTA NO ES UNA CONTRASEÑA VÁLIDA QUE SE PUEDE UTILIZAR AQUÍ | mysql_native_password | servidor local | | mysql.sys |
*ESTA NO ES UNA CONTRASEÑA VÁLIDA QUE SE PUEDE UTILIZAR AQUÍ | mysql_native_password | servidor local | | debian-sys-mantenimiento |
*CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | servidor local |
±-----------------±------------------------------- -----------±----------------------±----------+ 4 filas en conjunto (0.00 seg) En este ejemplo, puede ver que la raíz
el usuario, de hecho, se autentica usando el complemento auth_socket. Para
configurar la cuenta raíz para autenticarse con una contraseña, ejecute el
siguiente comando ALTER USER. Asegúrese de cambiar la contraseña a una
contraseña segura de su elección y tenga en cuenta que este comando cambiará la
contraseña raíz que estableció en el Paso 2:

ALTERAR USUARIO 'root'@'localhost' IDENTIFICADO CON mysql_native_password POR
'contraseña';

Luego, ejecute FLUSH PRIVILEGES, que le dice al servidor que vuelva a cargar las
tablas de concesión y ponga en vigencia sus nuevos cambios:

PRIVILEGIOS DE DESCARGA;

Vuelva a verificar los métodos de autenticación empleados por cada uno de sus usuarios
para confirmar que la raíz ya no se autentica con el
complemento auth_socket:

SELECCIONE usuario,authentication_string,plugin,host FROM mysql.user;

Producción

±-----------------±------------------------------- -----------±----------------------±----------+ | usuario | cadena_autenticación |
complemento | anfitrión |
±-----------------±------------------------------- -----------±----------------------±----------+ | raíz | *3636DACC8616D997782ADD0839F92C1571D6D78F |
mysql_native_password | servidor local | | mysql.sesión |
*ESTA NO ES UNA CONTRASEÑA VÁLIDA QUE SE PUEDE UTILIZAR AQUÍ | mysql_native_password | servidor local | | mysql.sys |
*ESTA NO ES UNA CONTRASEÑA VÁLIDA QUE SE PUEDE UTILIZAR AQUÍ | mysql_native_password | servidor local | | debian-sys-mantenimiento |
*CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | servidor local |
±-----------------±------------------------------- -----------±----------------------±----------+ 4 filas en conjunto (0.00 seg) Puede ver en este resultado de ejemplo que el
usuario raíz de MySQL ahora se autentica usando una contraseña. Una vez que confirme
esto en su propio servidor, puede salir del shell de MySQL:

salida

Supongo que te gusta

Origin blog.csdn.net/qq_46207024/article/details/131177552
Recomendado
Clasificación