Hi,
I’ve a droplet (D1) running in SanFransisco 01 datacenter. This is my Apache2 web server running a WordPress site. I’ve created a new Droplet (D2) in SanFransisco 01 datacenter. This one is for MySQL Database. Both has Private Network enabled.
I’ve created a SSH Tunnel in D1 to access database of D2
ssh -fNg -L 3307:127.0.0.1:3306 root@D2_PUBLIC_IP_ADDRESS
But I am getting high latency and want to improve it through connecting it via private network. How can I achieve it?
I’ve tried to ssh to Private IP
ssh root@D2_PRIVATE_IP
but I get this error
connect to host D2_PRIVATE_IP port 22: No route to host
How can I achieve this to minimize latency?
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.
Click below to sign up and get $100 of credit to try our products over 60 days!
Hi @arifulhb
Even with SSH over the private networking, there will still be some lag. Have you considered connecting directly over the private networking for MySQL? https://www.digitalocean.com/community/tutorials/how-to-set-up-a-remote-database-to-optimize-site-performance-with-mysql
If you activated the firewall at one point, that might be what’s blocking you currently.
You can check what services are listening on the different interfaces with this command:
@arifulhb
You don’t specifically need to setup a tunnel to connect to from D1 (Web) to D2 (DB). You can change the port that MySQL binds to in MySQL’s configuration file and set it to the private network IP – then restart MySQL.
Specifically, you’d be looking for
bind-address
. So if your private network IP is10.0.0.2
, you’d then set thebind-address
like so:Then
service mysql restart
.You would then need to create a user for the connecting host. So if your web server has a private IP of
10.0.0.1
, then you’d do:name_of_db
= name of databasename_of_user
= name of database userpassword
= password for database userYou’d then use those credentials and the private IP of the database server to connect to MySQL.