insights/content/tutorials/konfigurasi-phpmyadmin-untuk-multi-database-server/index.md

109 lines
4 KiB
Markdown
Raw Permalink Normal View History

---
title: "PHPMyAdmin Configuration for Multi Database Server"
description: How to configure the PHPMyAdmin application so that it can be used to manage multiple MySQL database servers.
summary: How to configure the PHPMyAdmin application so that it can be used to manage multiple MySQL database servers.
date: 2012-08-15T17:49:16+07:00
lastmod:
draft: false
noindex: false
# comments: false
nav_weight: 1000
series:
# - Tutorial
categories:
- SysAdmin
tags:
- PHP
- MySQL
images:
authors:
- ditatompel
---
On this occasion I would like to share how to configure the **PHPMyAdmin** application so that it can be used to manage **multiple MySQL database servers** (remotely).
When writing this article, the author used PHPMyAdmin Version `3.5.2.1` with Apache Web Server running on Linux OS. Meanwhile, the remote MySQL database server uses version `5.x`. Previously, the author assumed that you were able to run PHPMyAdmin on your computer.
## Remote MySQL Server
On the remote MySQL server, create a new database user that we will use to access the server from our PC or personal computer.
First, log in to MySQL and create a new user:
```sql
CREATE USER 'user_name'@'ip_address' IDENTIFIED BY 'password';
```
**Where**:
- `user_name` is the database username that we use to log in to the database server.
- `ip_address` is the IP address or hostname where PHPMyAdmin is installed.
- `password` is the password to log in to the database server.
After that, grant the required permissions to the user with the **GRANT** command:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'ip_address';
```
![MySQL GRANT](phpmyadmin1.png#center)
**Where**:
- `ALL PRIVILEGES` means all permissions that the user has, except for the **GRANT** option to other users.
- `*.*` means all databases and tables. The first asterisk represents the database name, and the second asterisk represents the table in the database.
- `'user_name'@'ip_address'` is the username that we created previously.
For example, if you only want **SELECT** permission, and **UPDATE** permissions for the `tbl_transaction` table in the `db_website` database for user `finance` with IP address `192.169.1.1`, use:
```sql
GRANT SELECT, UPDATE ON db_website.tbl_transaction TO 'finance'@'192.169.1.1';
```
Then, finally, don't forget to **FLUSH PRIVILEGES**.
```sql
FLUSH PRIVILEGES;
```
## PHPMyAdmin Client
Find where the PHPMyAdmin application is located. In this tutorial, the location is `/usr/share/webapps/phpmyadmin`. Edit the config.inc.php file in that directory and add the following configuration:
```php
$i++;
$cfg['Servers'][$i]['verbose'] = 'MRTG IP 169.1/28';
$cfg['Servers'][$i]['host'] = '192.168.1.5';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
```
![PHPMyAdmin `config.inc.php`](phpmyadmin2.png#center)
**Where :**
- `verbose` is the server name that will appear in PHPMyAdmin.
- `host` is the IP address or domain name of the remote MySQL database server.
- `port` is the port number of the remote MySQL database server (default `3306`).
- `connect_type` is the connection type used. There are two options: `socket` and `tcp`. We use `tcp` because the MySQL server is not on the same server as the PHPMyAdmin server that is currently running.
- `extension` is the PHP MySQL extension used for the above connection.
- `auth_type` is the authentication mode used for login.
After that, try opening the PHPMyAdmin page in a web browser. Then additional options will appear on the login page, as follows:
![PMA Login Page](phpmyadmin3.png#center)
Then, simply log in with your username and password according to the server choice.
With this feature, you can perform or utilize synchronization from a remote server to a local server or vice versa:
![PHPMyAdmin View](phpmyadmin4.png#center)
Or monitor remote databases from your personal computer, even though PHPMyAdmin is not installed on the remote MySQL server.
![MySQL Process PHPMyAdmin](phpmyadmin5.png)
Hope it's useful.