Drush was not able to start (bootstrap) the Drupal database - MySQL Access denied error
The answer to the problem was that I had a file .my.cnf in my home directory which I used a while back. It contained the user=username and the password=old_password. This was the cause of problem as it contained the correct username but an old password.

Previous drush versions (&lt; 7.x) did not use the mysql option --defaults-extra-file=/tmp/mysql_credentials to connect to database and that's why the problem didn't exist when I used an older version of drush.

I would have thought that the '--defaults-extra-file=/tmp/mysql_credentials would supercede the .my.cnf in my home directory but it doesn't seem to. 

One thing which would be useful to help debug this issue it to make drush not delete the /tmp/... files when you select the -d option.