geoff's answer is wholly inadequate for what you want to do (and not necessary if you just connect to your ip address). I'd know because I just set up my first db for remote access too! One thing that will need to be done is creating your my.cnf file (check documentation for its location based on your distribution and os). Mine looks like this:
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
bind-address=""MY IP ADDRESS HERE""
The important parts are the port (although I have the default port) and the bind address. The bind address listed would be your IP address. The commented out
0.0.0.0 is the wild card of IP addresses.
Before you can connect to a mysql database you must give the user you are connecting with permissions to do so. Something like the following will get your started:
GRANT ALL PRIVILEGES ON *.* for 'root'@'%' IDENTIFIED BY 'db_passwd';
*.* is the databasename.tablename wildcard.
'root' can be any user. The
'%' is the host wild card, but I strongly recommend only putting your IP address (
'root'@'18.104.22.168'). Your pass word (if any) will be
db_passwd, and include the single quotes when you execute the line. Type
FLUSH PRIVILEGES to reload these new privileges.
I'd use a network monitor program to check if you are getting connected to your mysql server. Lets see how that goes. Further help can also be found by Googling "mysql network access" etc., that is how I got it to work.