Ubuntu – Can not connect remotely to MySQL Server on Ubuntu 10.10

MySQLremote desktopUbuntu

Ok I have searched google for two days trying to get this to work. Here are the steps I have taken so far:

  1. Clean install of Ubuntu 10.10
  2. Install mysql 5.1 as well as admin
  3. Comment out the bind address in the config file
  4. Create a new database
  5. Create a new user that is username@% to allow remote connections
  6. Grant all access to this user to the new database EXCEPT the grant option
  7. Login on the server is ok using this new user and database on the localhost
  8. Login on the server is ok using this new user and database on the server internal network ip
  9. Login from a remote computer is ok using this new user and database using the internal network ip
  10. Login is not working when logging in with this username and database using the external ip address from the server or the remote computer.
  11. I have port forwarding enabled for this port and it is viewable from outside as confirmed by canyouseeme.org
  12. I have nmap'd using the following command on the internal ip and get the below result:

    nmap -PN -p 3306 192.168.1.73

    Starting Nmap 5.21 ( http://nmap.org ) at 2011-02-19 13:41 PST
    Nmap scan report for computername-System-Name (192.168.1.73)
    Host is up (0.00064s latency).
    PORT STATE SERVICE
    3306/tcp open mysql

    Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds

  13. I have nmap'd using the following command on the internal ip and get the below result(I have hidden ip for obvious reasons):

    nmap -PN -p 3306 xxx.xxx.xx.xxx

    Starting Nmap 5.21 ( http://nmap.org ) at 2011-02-19 13:42 PST
    Nmap scan report for HOSTNAME (xxx.xxx.xx.xxx)
    Host is up (0.00056s latency).
    PORT STATE SERVICE
    3306/tcp closed mysql

    Nmap done: 1 IP address (1 host up) scanned in 0.21 seconds

I am completely stuck here and need some help. I have tried everything under the moon and
still can not connect from a remote external ip address. Any help is greatly appreciated and I need to do anything to help find the problem let me know and I will post the results here.

Best Answer

Check the bind-address in /etc/mysql/my.cnf as it is set to 127.0.0.1 by default on Debian-based systems. If you want to be able to connect to it from another machine besides localhost you will need to change this and restart mysql to do so.

You can confirm this is the case by running netstat -plunta |grep :3306 as root and you will likely see it bound only to 127.0.0.1 and when you modify the my.cnf and restart this will not be the case any more.