usuario usando para nombre incorrecto fue error denegado datos contraseña clave bienvenido acceso mysql mysql-error-1045

mysql - usando - bienvenido a phpmyadmin el nombre de usuario o la contraseña es incorrecto el acceso fue denegado



Acceso denegado para el usuario ''test'' @ ''localhost''(usando la contraseña: YES) excepto usuario root (11)

De acuerdo con la forma en que crees a tu usuario, MySQL interpreta de una manera diferente. Por ejemplo, si crea un usuario como este:

create user user01 identified by ''test01'';

MySQL espera que otorgue privilegios utilizando grant all on <your_db>.* to user01;

No olvides flush privileges;

Pero, si crea un usuario así (pasando una dirección IP), debe cambiarlo a:

create user ''user02''@''localhost'' identified by ''teste02'';

entonces, para dar algunos privilegios tienes que hacer eso:

grant all on <your_db>.* to user02@localhost; flush privileges;

Estoy enfrentando un problema con el usuario mysql no root / admin, estoy siguiendo los pasos a continuación para crear el usuario y sus privilegios, corrígeme si lo estoy haciendo mal,

estoy instalando mysql en RHEL 5.7 64bit , los paquetes se mencionan a continuación, una vez que hice la rpm install estamos

  1. creando mysql db usando mysql_install_db , luego
  2. comenzando el servicio mysql luego
  3. usando mysql_upgrade también lo estamos haciendo para el servidor.

Después de este proceso, puedo iniciar sesión como root pero con un usuario no root no puedo iniciar sesión en el servidor:

[root@clustertest3 ~]# rpm -qa | grep MySQL MySQL-client-advanced-5.5.21-1.rhel5 MySQL-server-advanced-5.5.21-1.rhel5 [root@clustertest3 ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [root@clustertest3 ~]# ls -ld /var/lib/mysql/mysql.sock srwxrwxrwx 1 mysql mysql 0 Nov 30 11:09 /var/lib/mysql/mysql.sock mysql> CREATE USER ''golden''@''%'' IDENTIFIED BY ''password''; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON * . * TO ''golden''@''%''; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> SELECT USER(),CURRENT_USER(); +----------------+----------------+ | USER() | CURRENT_USER() | +----------------+----------------+ | root@localhost | root@localhost | +----------------+----------------+ 1 row in set (0.00 sec) [root@clustertest3 ~]# mysql -ugolden -p Enter password: ERROR 1045 (28000): Access denied for user ''golden''@''localhost'' (using password: YES)

Este es el problema que estoy enfrentando, ¿hay alguna solución para esto?


En mi caso, ocurrió el mismo error porque estaba tratando de usar mysql simplemente escribiendo "mysql" en lugar de "mysql -u root -p"


No otorgue todos los privilegios sobre todas las bases de datos a un usuario no root, no es seguro (y ya tiene "raíz" con ese rol)

GRANT <privileges> ON database.* TO ''user''@''localhost'' IDENTIFIED BY ''password'';

Esta declaración crea un nuevo usuario y le otorga privilegios seleccionados. ES DECIR:

GRANT INSERT, SELECT, DELETE, UPDATE ON database.* TO ''user''@''localhost'' IDENTIFIED BY ''password'';

Eche un vistazo a los docs para ver todos los privilegios detallados

EDITAR: puede buscar más información con esta consulta (inicie sesión como "raíz"):

select Host, User from mysql.user;

Para ver lo que sucedió


Para cualquier otra persona que hizo todos los consejos pero el problema aún persiste.

Verifique el procedimiento almacenado y vea los DEFINERS. Esos definidores ya no pueden existir.

Mi problema apareció cuando cambiamos el host comodín (%) por IP específico, lo que hace que la base de datos sea más segura. Desafortunadamente, hay algunas vistas que todavía usan ''user'' @ ''%'' aunque ''user'' @ ''172 ....'' es técnicamente correcto.


Parece que estás tratando de hacer que un usuario ''dorado'' @ ''%'', pero un usuario diferente con el nombre de ''golden'' @ ''localhost'' se interpone en el camino / tiene prioridad.

Haz este comando para ver a los usuarios:

SELECT user,host FROM mysql.user;

Deberías ver dos entradas:

1) usuario = dorado, host =%

2) user = golden, host = localhost

Haz estos comandos:

DROP User ''golden''@''localhost''; DROP User ''golden''@''%'';

Reinicie MySQL Workbench.

Luego, haz tus comandos originales nuevamente:

CREATE USER ''golden''@''%'' IDENTIFIED BY ''password''; GRANT ALL PRIVILEGES ON * . * TO ''golden''@''%'';

Luego, cuando intentes iniciar sesión en MySQL, escríbelo así:

Pulse ''Probar conexión'' e ingrese su contraseña ''contraseña''.


Primero creé el usuario usando:

CREATE user user@localhost IDENTIFIED BY ''password_txt'';

Después de buscar en Google y ver this , actualicé la contraseña del usuario usando:

SET PASSWORD FOR ''user''@''localhost'' = PASSWORD(''password_txt'');

y podría conectarme después.


Si se está conectando a MySQL utilizando una máquina remota (Workbench de ejemplo), etc., utilice los siguientes pasos para eliminar este error en el sistema operativo donde está instalado MySQL

mysql -u root -p CREATE USER ''<<username>>''@''%%'' IDENTIFIED BY ''<<password>>''; GRANT ALL PRIVILEGES ON * . * TO ''<<username>>''@''%%''; FLUSH PRIVILEGES;

Intente iniciar sesión en la instancia MYSQL.
Esto funcionó para mí para eliminar este error.


Solo agregue el nombre de la computadora en lugar de ''localhost'' en el nombre de host o la dirección de MySQL Host.


También tengo el problema similar, y más tarde descubrí que es porque cambié mi nombre de host (no localhost ).

Por lo tanto, lo --host=127.0.0.1 especificando el --host=127.0.0.1

mysql -p mydatabase --host=127.0.0.1


Tratar:

CREATE USER ''golden''@''localhost'' IDENTIFIED BY ''password''; GRANT ALL PRIVILEGES ON * . * TO ''golden''@''localhost''; FLUSH PRIVILEGES;

O incluso mejor uso: mysql_setpermission para crear el usuario


conecte su servidor desde mysqlworkbench y ejecute este comando-> ALTER USER ''root'' @ ''localhost'' IDENTIFIED BY ''yourpassword'';