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.