creo que no hay nada en su código que cause este tipo de error, como puede ver en error
Access denied for user 'root'@'localhost' (using password: YES)
muestra que el problema es con su usuario o contraseña, así que verifique una vez más que su usuario y contraseña sean correctos si está usando una contraseña para el usuario de la base de datos.