Obecně vám nedoporučuji otevírat port 3306 pro veřejný přístup (nebo dokonce s omezením IP). Já osobně vždy tuneluji port 3306 pomocí Putty/ssh a pak už jen používám localhost pro připojení k databázi.
V tomto případě nezapomeňte uživateli udělit oprávnění takto:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'localhost' identified by "yourUsersPassword";
Pokud přesto chcete vytvořit přímé připojení, je možné, že váš uživatel stále nemá dostatečná oprávnění. Můžete zkusit toto:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'yourClientsIp' identified by "yourUsersPassword";