Question

Can't connect to MySQL db

Posted February 16, 2020 140 views
APIDockerDatabases

Hello,

I’ve got a droplet that run ubuntu and I’ve installed mysql to it. I can reach it from my computer with SSH connection from mysql workbench, so the remote access is ok.
The hostname is : 127.0.0.1

The bind address in my mysqld.cnf: 127.0.0.1

I’ve got a .net core api and I would like to use docker to run it. I made the container push to docker hub and pulled it to the droplet. When i try to run I get this error: An error occurred using the connection to database “ on server ‘127.0.0.1’.

My connection string:
"Server=127.0.0.1;Port=3306;Database=db;Uid=user;Pwd=pass”

i tried to server:

  • localhost
  • the ip of my server

I don’t understand why can I connect to db from mysql workbench and cannot from .net core web api.

The .net core version is 3.1

Thank you for the answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

Hi @tothtomi7,

The Localhost variable should be the Ip of your droplet, after all you are connecting to your droplet not your local computer with WorkBench.

As for the troubles with connecting, most probably, you haven’t allowed your local IP address on your droplet.

You can achieve this by executing the following two commands on your droplet

iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d XXX.XXX.XXX.XXX --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s XXX.XXX.XXX.XXX --sport 3306 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

Where XXX.XXX.XXX.XXX is your Ip address.

If you are unsure what your IP address is, you can always check it on this website

Regards,
KDSys

Submit an Answer