一般に、パブリックアクセス用に(またはIP制限がある場合でも)ポート3306を開くことはお勧めしません。私は個人的に常にポート3306をPutty/sshでトンネリングし、ローカルホストを使用してデータベースに接続します。
この場合、次のようにユーザーに特権を付与することを忘れないでください:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'localhost' identified by "yourUsersPassword";
それでも直接接続したい場合は、ユーザーがまだ十分な権限を持っていない可能性があります。これを試すことができます:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'yourClientsIp' identified by "yourUsersPassword";