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