Saya biasanya tidak menyarankan Anda untuk membuka port 3306 untuk akses publik (atau bahkan dengan batasan IP). Saya pribadi selalu tunnel port 3306 dengan Putty/ssh dan kemudian hanya menggunakan localhost untuk terhubung ke database.
Dalam hal ini jangan lupa untuk memberikan hak istimewa bagi pengguna seperti ini:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'localhost' identified by "yourUsersPassword";
Jika Anda masih ingin melakukan koneksi langsung, kemungkinan pengguna Anda masih belum memiliki cukup hak istimewa. Anda dapat mencoba ini:
grant all privileges on yourDatabaseName.* to 'yourUserName'@'yourClientsIp' identified by "yourUsersPassword";