Let's say you're developing a script on your PC at home, and you need to connect to your database remotely using a MySQL admin program. No problem. This procedure is a little quirky, but here are the steps to grant remote access to your database.
Note: if you don't have a database yet, start here.
We'll assume you are using the following information:
database user: example_dbuser
IP address given to your computer from your ISP: 220.127.116.11 (get the IP of your computer here)
server name: server.asmallorange.com (get the IP of your server here)
Whitelist Your IP
Log in to cPanel
Scroll down to the Databases section and click Remote MySQL
Enter your IP address (eg, 18.104.22.168) in the field next to Host (% wildcard is allowed, if your IP changes a lot)
Note: if you don't know your IP go here.
Click Add Host
You can enter something like 1.2.3.% if you want to allow a range if IP addresses
Note: this is not safe; it will allow anyone in that entire network range to have access to your database if they are able to obtain your password.
We take MySQL security very seriously, so in addition to the standard cPanel procedure we also need to add the remote IP to the firewall. Please contact Support and notify us of the IP address so that we can make sure it has access to MySQL.
Add User to Database
Scroll back down to Add Users to Your Databases
Select the user 'example_dbuser' from the dropdown menu on the left and the database 'example_mydb' from the dropdown menu on the right.
Click Add User to Database
Testing your Connection
Now, using your PC and remote MySQL client, enter the connection information for your database, database user, and the server name or IP address.
If you run into problems with any of this, double-check the steps above or send in a support ticket for assistance.
Remove User from Database When No Longer Needed
Scroll up to the Current Databases and look for the database 'example_mydb'
You'll see two delete buttons, one next to the database name (example_mydb) and one under that next to the username (example_dbuser).
Click the Delete next to the database username
The next screen says:
Account Removed from Access List
Deleted the user example_dbuser from the database example_mydb.
You've enabled remote access... now what?
You will need a third party application to connect to MySQL remotely, like MySQL Workbench, phpMyAdmin (available in your cPanel) or Navicat, or even Dreamweaver and similar.
See also Find the IP Address of Your Server, What's My IP Address?