You can remove
bind-address = 127.0.0.1
from /etc/mysql/my.cnf and restart MySQL, although I don't think this has anything to do with your problem.
I guess you have wrong values in the Host coumn in the user table of the mysql database. The problem is: how do we change it if we can't access it?
And I wonder how the wrong values went into there? Maybe someone accessed the MySQL database when it didn't have a password and changed the values...