Technology WordPress Tips & Tricks

How to Connect to a Remote Database using PhpMyadmin

Sometimes you need to reach a database that lives on another server. Here is how to connect to a remote database using phpMyAdmin, so you can manage your data securely even when it is not hosted alongside your site.

Sumit Pore Sumit Pore 4 min read
How to Connect to a Remote Database using PhpMyadmin

phpmyadmin-logoPhpMyAdmin is indeed a very useful tool to perform database related operations. Of course, you can perform all those operations using a command line tool, but the GUI tools makes life pretty easy :-p

But since phpMyAdmin is a web application primarily, there are chances hackers will try to attack your database using phpMyAdmin. And if you have weak password, then my dear friend, ‘God save you!’ :D

Due to these security aspects, sometimes users do not wish to install phpMyAdmin on their server. And instead prefer working with  a command line tool.

But what if you needed to access their database, and preferred using phpMyAdmin instead?!

Well, today is your lucky day! I’ll explain how you can connect to their remote database using phpMyAdmin installed on your localhost.

Let’s get started.

#0 Install phpMyAdmin

:D

Yes. If you have phpMyAdmin installed on your computer, skip this step. But if you don’t, you can just fire the below command (on Ubuntu) to install it:

sudo apt-get install phpMyAdmin

#1 Create a User

Now, we’ll be able to connect to a remote server only if it has a user matching our host. Therefore, the first thing you should do is create a database user on the server’s MySQL with the host as your own computer’s public IP address.  You will need a static IP address for this to work. Also, you could double-check your address with a What’s My IP tool before creating the database user.
Then, assign the desired database to that user.

Sounds complicated?!

Just follow the below steps to get this done:

  • Login to remote server using SSH
  • Connect to mysql using mysql command mysql -u -p
  • And then fire these queries
CREATE USER ‘’@'' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON . * TO '’@'';
FLUSH PRIVILEGES;
quit;
  • Log out of SSH

Once you have that database user created on the server, open a terminal on your computer and check whether you are able to connect to that database. To do that, fire the below command:

mysql -u -p -h -P

In most of the cases, the port_number_on_which_mysql_service_runs will be 3306 but if you, or your client runs MySQL service on some other port, then supply that port there. If you are not sure about on which port your MySQL service is running on, then login to server over SSH and once you are in, fire this command:

sudo netstat -tulpn | grep 'mysql'

You should be able to see the port number in the output (specifically after ‘:’ in 4th column).

After firing the above command close the SSH. If ‘mysql’ command fired above lets you in, only then proceed to configuring phpMyAdmin. Resolve any problems before proceeding.

Now, lets configure our PHPMyadmin installed on localhost.

#2 Configure PhpMyAdmin

In your terminal, fire the command

sudo nano /etc/phpmyadmin/config.inc.php

And add the below content at the bottom of that file (without the comments of course :-p )

$i++;
$cfg['Servers'][$i]['host'] = ''; //If you don't have the IP address, you can directly enter the hostname of remote server
$cfg['Servers'][$i]['port'] = ''; //The port number on which MySQL service is running
$cfg['Servers'][$i]['user'] = ''; // Username with which you want to connet
$cfg['Servers'][$i]['password'] = ''; //Password associated with the username specified above
$cfg['Servers'][$i]['extension'] = 'mysqli'; // Extension to be used to connect to the database. It can be either mysql or mysqli. PHP program will use the respective extension to connect to the database
$cfg['Servers'][$i]['auth_type'] = 'config'; // This is the authentication mode. Since we are doing this on localhost, it is safe to set is as config. You can read more about authentication types available here: https://wiki.phpmyadmin.net/pma/auth_types

After adding the above content, save the file.

And now try accessing phpMyAdmin by going to http://localhost/phpmyadmin. You should find phpMyAdmin listing your newly added server in the dropdown. Select that server, enter the username and password for it and you are in! :D

[space]

Two steps and done! Do leave your comments and questions in the comment section below!

Happy weekend!

Get a FREE Consultation

Let's build something that lasts.

Share what's on your mind — a clear brief, a half-formed idea, or just a sense that something needs to change. We'll listen first, ask the right questions, and point you toward what's actually worth building.

We take on a handful of projects each quarter,ones where we can truly make a difference.

  • Receive a human response within 24 hours
  • Get a detailed scope and quote upfront
  • We're happy to sign an NDA upon request

    Free 30-Min Strategy Call

    Your Name *

    Your Phone No *

    Work Email *

    Your Budget*

    Project Details *