When you upgrade from Mysql 5.6 to 5.7 you will no longer be able to log into mysql's root user without root access.
This is annoying if you're using it for development as most frameworks assume the development database can be connected to via root user with no password.
This solution is to change the login plugin back to
Use sudo to login:
sudo mysql -u root
Change login plugin:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
mysql -u root should work. Enjoy!