No se puede iniciar sesión con el usuario creado en mysql


Usando este comando

GRANT ALL PRIVILEGES ON *.* to 'brian'@'%' identified by 'password';

Intento iniciar sesión con:

 mysql -u brian -ppassword

El error es:

ERROR 1045 (28000): Access denied for user 'brian'@'localhost' (using password: YES)

Estoy haciendo esto como root e intenté vaciar privilegios.

Probé esto con innumerables usuarios, pero no parece funcionar. Puedo crear un usuario sin contraseña y el inicio de sesión funciona. Línea de comandos y desde phpmyadmin

Compruebe también si el usuario estaba en mysql.usuario que es.

Becas para espectáculos de brian:

| GRANT ALL PRIVILEGES ON *.* TO 'brian'@'%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
Author: OMG Ponies, 2009-09-11

12 answers

Probablemente tenga este problema perpetuo de MySQL donde uno de los usuarios predeterminados en la tabla de usuarios es '' @ localhost, lo que termina negando todos los usuarios localhost más adelante en la tabla. Lo que haría es mysqldump la base de datos mysql y buscar esta entrada en la tabla User; si la encuentra, elimínela y vacíe los privilegios.

Para más detalles ver https://dev.mysql.com/doc/refman/5.5/en/connection-access.html .

Es un error común pensar que, para un nombre de usuario dado, todas las filas que nombran explícitamente a ese usuario se usan primero cuando el servidor intenta encontrar una coincidencia para la conexión. Esto no es cierto. El ejemplo anterior ilustra esto, donde una conexión de h1.example.net por jeffrey se compara primero no por la fila que contiene 'jeffrey' como el valor de la columna de usuario, sino por la fila sin nombre de usuario. Como resultado, Jeffrey se autentica como un usuario anónimo, a pesar de que especificó un nombre de usuario al conectarse.

 165
Author: chaos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-15 09:10:09

Este es un problema causado por los usuarios anónimos. Una vez que instalo MySQL siempre corro

shell> mysql_secure_installation 

Y seleccione para establecer/cambiar la contraseña de root, eliminar usuarios anónimos, no permitir el inicio de sesión de root remoto, eliminar la base de datos de prueba. Esto eliminará al usuario anónimo y asegurará su instalación. También debería resolver el problema que tienes.

 38
Author: user2509314,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-21 00:46:16
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 17
Author: zinking,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-27 10:41:46

Ninguna de las soluciones proporcionadas aquí funcionó. Después de un montón de errores y pruebas me di cuenta de que tenía caracteres especiales en la contraseña. Cambiar la contraseña sin caracteres especiales resolvió el problema

 9
Author: cortopy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-03 21:05:33

Los documentos de mysql tienen esto que decir: (de http://dev.mysql.com/doc/refman/5.1/en/adding-users.html):

Dos de las cuentas tienen un nombre de usuario monty y una contraseña de some_pass. Ambas cuentas son cuentas de superusuario con privilegios completos para hacer cualquier cosa. La cuenta 'monty'@'localhost' solo se puede usar cuando se conecta desde el host local. La cuenta 'monty'@'%' usa el comodín '%' para la parte del host, por lo que puede usarse para conectarse desde cualquier host.

Es necesario tener ambas cuentas monty para poder conectarse desde cualquier lugar como monty. Sin la cuenta localhost, la cuenta de usuario anónimo para localhost creada por mysql_install_db tendría prioridad cuando monty se conecta desde el anfitrión local. Como resultado, monty sería tratado como un usuario anónimo. La razón de esto es que la cuenta de usuario anónimo tiene un valor de columna Host más específico que la cuenta 'monty'@'%' y por lo tanto viene antes en el orden de clasificación de la tabla de usuarios.

Con esto en le recomiendo que cree un usuario 'brian'@'localhost' con los mismos privilegios.

 3
Author: Russell Silva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-20 22:56:24

Olvidaste las citas alrededor de Brian en tu declaración de subvención. Pruébalo así:

GRANT ALL PRIVILEGES ON *.* to 'brian'@'%' identified by 'password';

 2
Author: Asaph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-11 17:47:57

Acabo de crear una cuenta para proporcionar otra posibilidad para futuros buscadores:

Podría ser algo obvio para los usuarios experimentados, pero mi contraseña se generó aleatoriamente y contenía un "\". Me llevó un tiempo hasta que descubrí que ese personaje parece causar problemas, lo que me impidió iniciar sesión.

 2
Author: ception,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-27 00:36:00

Creo que 'Russell Silva' tiene razón...

He creado un usuario por

CREATE USER 'username'@'%' PASSWORD='userpassword';

Pero no puedo iniciar sesión en esta cuenta.La consola me dijo que

ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)

Así que creé un usuario con el mismo nombre de usuario excepto que cambiando '%' a 'localhost',y finalmente pude iniciar sesión como 'nombre de usuario'. Pero es bastante raro para mí.

 1
Author: Chenxiao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-29 09:46:29

En mi caso se debió a que hice clic en "SSL: REQUIRE SSL" (en phpmyadmin). Cuando lo cambié a" REQUIRE NONE " pude iniciar sesión.

 1
Author: Ari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-16 20:25:39

También puede conectarse desde otro host y luego el usuario anónimo de localhost se omite y puede eliminarlo y vaciar privilegios:

mysql -u brian -ppassword -h 'other_host_than_localhost'
 0
Author: obotezat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-21 00:46:48

Tuve un problema similar al intentar conectarme a una Maria DB ejecutándose en Ubuntu después de actualizar a 17.04.

El valor predeterminado era escuchar solo en localhost, 127.0.0.1.

Para hacer que MySQL/Maria escuche en todos los puertos e interfaces disponibles, necesitaba especificar explícitamente bind-address=0.0.0.0. He añadido esta línea al final del archivo /etc/mysql/my.cnf, es decir,

...
[client-server]

# Import all .cnf files from configuration directory

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
bind-address=0.0.0.0

Entonces...

sudo /etc/init.d/mysql restart 
 0
Author: theINtoy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-20 19:49:09

Se ha producido un problema similar para mí incluso después de verificar que no he introducido una contraseña incorrecta, no pude iniciar sesión. A continuación dos pasos solucionaron mi problema.

  1. Dropping test database
  2. Eliminar usuario anónimo
 -1
Author: sreejith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-04 07:27:50