PhpMyAdmin: error 1045 Access denied for user root@localhost

PhpMyAdmin: error 1045 Access denied for user root@localhost

Este truco está pensado para quienes tienen un problema al iniciar PhpMyAdmin. Por ejemplo, con WAMP Server o EasyPHP. Uno de los mensajes más habituales de error es "mysqli::real_connect(): (hy000/1045): access denied for user 'root'@'localhost' (using password: yes) o (using password: no). A continuación, vemos cómo solucionarlo.

¿Cuál es el error #1045 en PhpMyAdmin?

Los mensajes de error que aparecen pueden ser:

  • #1045- Access denied for user 'root'@localhost'
    
  • mysqli::real_connect(): (hy000/1045): access denied for user 'root'@'localhost' (using password: yes)
  • mysqli::real_connect(): (hy000/1045): access denied for user 'root'@'localhost' (using password: no)

Todos ellos comparten la misma solución. 

¿Cuál es la solución?

Para solucionar esto es necesario efectuar algunas manipulaciones después de la instalación. Los pasos a seguir son:

  • Abre la consola MySql.
  • Presiona Enter y escribe el comando mysql>.
  • Es útil comenzar por ingresar una nueva contraseña mediante este comando:
SET PASSWORD FOR root@localhost=PASSWORD(' micontraseña ');
  • Es recomendable recompensar los derechos de usuario mediante el comando siguiente:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY ' micontraseña ' WITH GRANT OPTION;
  • Es necesario ingresar los nombres de los host y la cuenta de usuario por defecto con la contraseña en el archivo 'php.ini' en el nivel siguiente:
; Default user for mysql_connect() (doesn't apply in safe mode).  
mysqli.default_user ='root'  
; Default password for mysqli_connect() (doesn't apply in safe mode).  
; Note that this is generally a *bad* idea to store passwords in this file.  
; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")  
; and reveal this password! And of course, any users with read access to this  
; file will be able to reveal the password as well.  
mysqli.default_pw ='micontraseña'

Sólo queda ingresar los nombres de los hosts y de la cuenta de usuario por defecto con la contraseña en el archivo 'config.inc.php' con las líneas siguientes:

$cfg['Servers'][$i]['host']= 'localhost';  

$cfg['Servers'][$i]['user'] = 'root';  

$cfg['Servers'][$i]['password']= 'micontraseña';

Después de no haber podido abrir correctamente la página localhost vas a recibir la agradable sorpresa de poder conectarte a PhpMyAdmin sin el error mencionado. 

Alrededor del mismo tema
  • Como relacionar tablas en phpmyadmin > Guide

Webmaster