After upgrading an instance of MySQL to 5.7 I was unable to login and had several of the following entries in the error log.

[Warning] User entry 'username'@'hostname' has an empty plugin value. The user will be ignored and no one can login with this user anymore.

This is explained the the release notes. Here’s the process I followed to fix this.

# Identify the path to mysqld_safe
ps -e | grep mysqld
# Stop mysql
sudo /sbin/service mysql stop
# Start with --skip-grant-tables
sudo /usr/bin/mysqld_safe --skip-grant-tables
# Run mysql_upgrade
sudo mysql_upgrade -h 127.0.0.1 -u root -p
# Restart mysql
sudo /sbin/service mysql restart