Error HY000/1045: Acceso denegado para el usuario ‘root’ @ ‘localhost’ (usando la contraseña: NO)

Si has recibido el error mysqli_real_connect (): (HY000/1045): Acceso denegado para el usuario ‘root’ @ ‘localhost’ (usando la contraseña: NO) phpMyAdmin intentó conectarse al servidor MySQL y el servidor rechazó la conexión…; aquí intento explicarte como resolverlo.

Tanto para usuarios de Xampp como Lamp, el problema radica en que se esta intentando una conexión a SQL con un usuario que no existe.

Veamos el error:

En el archivo config-db.php, que encontrarás en esta ruta ( /etc/phpmyadmin/config-db.php) existen 2 variables: $ dbuser y $ dbpass, que indican los parámetros de conexión de MySQL.

En el mismo archivo existen otros parámetros importantes que podemos modificar como la dirección del servidor ($ dbserver), el puerto ($ dbport), y otros  que pueden ser de utilidad alterar, ante problemas de conexión.

La solución por tanto, es modificar el config-db.php y configurar su contraseña, con la contraseña que le dio al usuario root , o si no tiene una contraseña, dejarla vacía de este modo ''.

Vaya al archivo config.inc.php y busque – $ cfg ['Servidores'] [$ i] ['auth_type']

Cambie el valor de $ cfg ['Servers'] [$ i] ['auth_type'] a ‘cookie’ o ‘http’.

$cfg['Servers'][$i]['auth_type'] = 'HTTP';

Nota- si elige el tipo de autenticación como cookie, cada vez que cierre el navegador y lo vuelva a abrir, deberá iniciar sesión nuevamente.

Cambie el valor de  $ cfg [‘Servers’] [$ i] [‘password’] a vacio »

$cfg['Servers'][$i]['password'] = ''; <-tu contraseña 

En  $ cfg [‘Servidores’] [$ i] [‘AllowNoPassword’] y cambie su valor a verdadero.

$cfg['Servers'][$i]['AllowNoPassword'] = 'TRUE'; 

Tambien podemos hacerlo desde las funciones para usuario avanzado

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'tu usuario';
$cfg['Servers'][$i]['controlpass'] = 'tu contraseña'; /* '' para dejar vacio */

En total oscuridad, cualquier cosa puede ser luz

Y