I did a quick search and found these two answers that may help. They seem complete to me where much of the other information I found was too fragmented and incomplete. I like the first link best.
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
http://stackoverflow.com/questions/15663001/remote-connections-mysql-ubuntu
[Update]
Here is a run-down:
Log-on using your favorite SSH terminal.
Edit /etc/mysql/my.cnf
(may be /etc/my.cnf
) with your favorite editor (vi or pico are most popular).
Find the section marked as [mysqld]
.
Add or modify the line: bind-address=*YOUR-SERVER-IP*
where YOUR-SERVER-IP is your public IP address.
Restart MySql: /etc/init.d/mysql restart
If your MySql user does not exist:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
... where myuser is your desired username and mypass your desired password...
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
... to grant privileges to the user.
If your user already exists, then just issue the GRANT statements.
I use MySql Workbench which can make this process point and click. You can find it here for free: http://www.mysql.com/products/workbench/
Let us know if this helps.