Si aparece el error Access denied for user 'root'@'localhost' y se está empleando MySQL versión 8, la solución más sencilla es ejecutar en la línea de comandos de MySQL cualquiera de las siguientes sentencias dependiendo si se desea establecer o no una contraseña
Solución en LINUX
En el caso de LINUX el primer paso es abrir el terminal CTRL + ALT + T. Luego ingresar a la consola de MySQL con el comando:
sudo mysql -u root
Solución en WINDOWS
El primer paso en WINDOWS es abrir el CMD con WINDOWS + R o desde el menú inicio escribiendo CMD. Luego ingresar a la consola de MySQL con el comando:
mysql -uroot -p
Luego ingresar cualquiera de las siguientes dos opciones
Sin contraseña
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''
Con contraseña
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'clave';