You might have faced this problem before. This is actually due to the new authentication way of mysql introduced in version 8.0.11.

Don't be panic, solution is simple. Though I wasted few hours determining it :)

Solution: Log into mysql using terminal and run the following command:

ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY 'password';

AND

GRANT ALL PRIVILEGES ON {db}.* TO 'root'@'localhost';

Replace username, host, password and db accordingly.

Hope it saves your time.