rubenlech
By:
rubenlech

Remote connection with MySQL

May 11, 2017 298 views
PHP MySQL Ubuntu 16.04

Hi,

I have problem with remote connection to my MySQL database.

My changes in /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
.....
#bind-address           = 127.0.0.1

I also run this lines in mysql:
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON . TO 'monty'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

and finally:
sudo service mysql restart

Unfortunelly I still cant' connect with my database. What is the problem?

1 Answer

Hi @rubenlech

Can you check if MySQL is listening on all interfaces:

sudo lsof -iTCP -sTCP:LISTEN -P

And then let's check the state of the firewall:

sudo ufw status
  • mysqld  5531    mysql   34u  IPv6  34684      0t0  TCP *:3306 (LISTEN)
    

    Port 3306 is enought?

    firewall status:

    To                         Action      From
    --                         ------      ----
    22                         LIMIT       Anywhere
    443                        ALLOW       Anywhere
    80                         ALLOW       Anywhere
    22 (v6)                    LIMIT       Anywhere (v6)
    443 (v6)                   ALLOW       Anywhere (v6)
    80 (v6)                    ALLOW       Anywhere (v6)
    

    Is port 3306 blocked?

    • In the lsof command, when there's a * instead of an address, then the service listens on every interface.

      But yes, you've activated the firewall and it blocks port 3306 by default.

      sudo ufw allow 3306
      
Have another answer? Share your knowledge.