Can't connect to MySQL server

Can’t connect to MySQL server remotely on Ubuntu

Last updated on

To test a remote MySQL connection in Linux terminal:

mysql -u username -h -p

Or via Telnet in WIndows:

telnet 3306

If you are getting an error when trying to connect to your remote MySQL server

ERROR 2003 (HY000): Can't connect to MySQL server on '' (111)

or in Telnet

Connecting To not open connection to the host, on port 3306: Connect failed

1. Check Firewall

Firstly, if ufw firewall is enabled, ensure you have a rule for MySQL

sudo ufw allow mysql

Restart the service

sudo service ufw restart

2. Check MySQL config

You may need to comment out bind-address in the MySQL config file mysqld.cnf

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Find the line bind-address  (CTRL + W to search)

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address =

The above line is telling MySQL to only accept local connections. Comment out this line by adding # before it.

Restart the MySQL service for changes to take effect.

sudo service mysql restart

Let me know in the comments if this helped. Follow me @DevAnswers or buy me a beer 🍺


Your email address will not be published. Required fields are marked *

We use Markdown to style comments, like on Github and Reddit.
To do a line break, type two spaces after the sentence.
You can add inline code by wrapping it in backticks: `code here`

    To do an entire block of code  
    type four spaces before the line
    and it will appear in a block like this.
    <-- four empty spaces