Table of Contents
Solución al error "Access denied for user 'root'@'localhost'" en MariaDB y PHP
Si al conectar tu proyecto en PHP con MariaDB o MySQL te aparece el error:
Access denied for user 'root'@'localhost' (using password: NO/YES)
Significa que el usuario root necesita una contraseña, pero en tu código la estás dejando vacía.
Causa del error
El error ocurre porque MariaDB/MySQL no permite la conexión sin clave de acceso cuando el usuario root tiene una contraseña configurada.
En este caso, en el código PHP de conexión se estaba usando:
$nombreUsuario = "root";
$contrasena = "";
Cómo solucionar el error de "Access denied for user 'root'@'localhost"
Para resolver este problema debes asignar una contraseña al usuario root desde MariaDB y actualizarla en tu proyecto PHP.
Paso 1: Asignar una contraseña al usuario root
Entra a tu consola de MariaDB/MySQL y ejecuta:
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
FLUSH PRIVILEGES;
Con este comando cambias la clave del usuario root a 1234 (puedes elegir otra más segura).
Paso 2: Corregir la conexión en PHP
Ahora edita tu archivo de conexión en PHP y coloca la contraseña:
$nombreUsuario = "root";
$contrasena = "1234";
De esta forma, el error desaparecerá y la conexión se establecerá correctamente.
Recomendaciones de seguridad
- Evita usar el usuario root en producción.
- Crea un usuario específico con permisos limitados para tu aplicación.
- Usa contraseñas seguras, más complejas que "1234".
Con estos pasos, habrás solucionado el error Access denied for user 'root'@'localhost' en tu proyecto PHP con MariaDB/MySQL.
Seguir leyendo: