1

Hi How do i connect to MySql from another Ubuntu machine. I tried this

mysql -h 'IP' -P 3306 -u test -ptest

I get ERROR 2003 (HY000): Can't connect to MySQL server on 'IP' (111). then i tried

 nmap -sS -O -p 3306 'IP'   and it says 3306/tcp closed mysql 

But in the MySql machine when i try it with localhost it works

 nmap -sS -O -p 3306 localhost it says 3306/tcp open mysql 

What am i missing here

Rakesh
  • 421
  • 2
  • 6
  • 11

2 Answers2

2

Two ways to check this:

[1] in /etc/mysql/my.cnf if the database is configured to be listening on localhost (127.0.0.1) only. Look for the line

bind-address        = 127.0.0.1

and comment this line, follow by a restart of the database. I think this is your issue, since this is default in Ubuntu.

[2] Run "netstat -an | grep 3306" - it should give this when open for connections from the outside:

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN 
Henk
  • 1,331
  • 11
  • 24
-1

You must create an user that's allowed to connect to that MySQL server from the machine you want to connect from.

mysql > create user 'user'@'ip_from_you_want_to_connect' identified by 'password'.

The trick is, in the create user syntax, what you put after the @

create user 'user'@'localhost' only gives permission to that user when connecting from the local machine.

If you want to connect from another machine, replace the localhost with the IP or the name (FQDN) of that machine.

You can find out more about creating users here

Also, check the hint given by Henk.

Feiticeir0
  • 434
  • 3
  • 11