I have 2 droplets, both with a LAMP stack. Both also have PHPMyAdmin installed, run a PHP application, and have a self-signed SSH certificate that auto redirects to https.
What I would like to do is connect to the MySQL database that’s on Droplet 1 from the app on Droplet 2. I know you can do this by running a mysql server Droplet 1, but both need to run a full PHP app in this case.
Here is what I’ve already done and tried:
sudo ufw allow 3306/tcp
and sudo service ufw restart
My PHP app connection settings $db[‘remote_db’] = array( ‘dsn’ => ‘’, ‘hostname’ => ‘PRIVATE IP OF DROPLET HERE’, // in the format xx.xx.xx.xx so not with https:// in front of it ‘port’ => 3306, ‘username’ => ‘user’, ‘password’ => ‘password’, ‘database’ => ‘database’, ‘dbdriver’ => ‘mysqli’, ‘dbprefix’ => ‘’, ‘pconnect’ => FALSE, ‘db_debug’ => FALSE, ‘cache_on’ => FALSE, ‘cachedir’ => ‘’, ‘char_set’ => ‘utf8’, ‘dbcollat’ => ‘utf8_general_ci’, ‘swap_pre’ => ‘’, ‘encrypt’ => FALSE, ‘compress’ => FALSE, ‘stricton’ => FALSE, ‘failover’ => array(), ‘save_queries’ => TRUE );
Currently the app op Droplet 2 can not connect to the database that runs on Droplet 1. What am I missing?
A few questions:
/etc/mysql/my.cnf
file with bind-address
?This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
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.
By default, MySQL is bound to the loopback interface, so it’s not reachable from others, e.g. you’re private network.
You can try binding it to the private address, or if that doesn’t work (
0.0.0.0
). Be careful with0.0.0.0
as it will allow traffic from any interface!About the user,
%
should be good enough. If you want to additionally secure, you try to use private address instead of%
.%
allows you to connect using that user from any IP address. If you’re going to use only another Droplet, you can try to change it to the appropriate IP.If that doesn’t work, try to get some logs, as that can help you to debug it further.