In genere non ti consiglio di aprire la porta 3306 per l'accesso pubblico (o anche con restrizioni IP). Personalmente ho sempre tunnel la porta 3306 con Putty/ssh e quindi uso solo localhost per connettermi al database.
In questo caso non dimenticare di concedere i privilegi per l'utente in questo modo:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'localhost' identified by "yourUsersPassword";
Se desideri comunque stabilire una connessione diretta, è possibile che il tuo utente non disponga ancora di privilegi sufficienti. Puoi provare questo:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'yourClientsIp' identified by "yourUsersPassword";