phpMyAdminで複数のサーバーを管理する

同一サーバーで、ポートを変更して複数のMariaDB(MySQL)が稼働しているサーバーがあります。以前はポートごとにphpMyAdminを設定して管理していましたが、「config.inc.php」に各ポートの設定をすれば1個のphpMyAdminで各ポートのDBにアクセスできます

phpMyAdminのインストール方法は以下となります。私の場合は下記のように「/var/www/phpmyadmin」にインストールしています。

$ cd /usr/local/src
$ wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
$ unzip phpMyAdmin-5.2.1-all-languages.zip
$ mv pMyAdmin-5.2.1-all-languages/ phpmyadmin
$ sudo mv phpmyadmin /var/www/
$ sudo chown -R apache:apache phpmyadmin

Apacheの設定は、各ドメインごとにVirtualHostを設定しているので下記のように設定しています。AliasでphpMyAdminをインストールしているディレクトリを指定しています

$ sudo vim /etc/httpd/conf.d/vhosts/example.com.conf 
  Alias /phpmyadmin "/var/www/phpmyadmin"

  <Directory /var/www/phpmyadmin>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
  </Directory>

各ポートごとのDBの設定は「config.inc.php」に以下の設定を入れています

$ sudo vim /var/www/phpmyadmin/config.inc.php

/* Servers configuration */
$i = 0;

/* Server: mail01_3306 [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'mail01_3306';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';

/* Server: web01_3307 [2] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'web01_3307';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = 3307;
$cfg['Servers'][$i]['socket'] = 'root';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';

/* Server: web02_3308 [3] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'web02_3308';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = 3308;
$cfg['Servers'][$i]['socket'] = 'root';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';

/* End of servers configuration */

下記項目の意味は以下になります

$cfg['Servers’][$i]['verbose’]
この設定項目は、phpMyAdmin がデータベースサーバーへの接続情報を表示するかどうかを制御します。

  • 値:
    空白 (デフォルト): 接続情報は表示されません。
    文字列: 指定された文字列が接続情報として表示されます。

$cfg['Servers’][$i]['host’]
この設定項目は、データベースサーバーのホスト名を指定します。

  • 値:
    ホスト名: データベースサーバーのホスト名またはIPアドレスを指定します。
    localhost: ローカルマシン上のデータベースサーバーを指定します。

$cfg['Servers’][$i]['port’]
この設定項目は、データベースサーバーのポート番号を指定します。

  • 値:
    ポート番号: データベースサーバーが使用するポート番号を指定します。
    デフォルト: 3306

$cfg['Servers’][$i]['socket’]
この設定項目は、UNIX ソケットファイルのパスを指定します。

  • 値:
    ソケットファイルパス: UNIX ソケットファイルのパスを指定します。
    デフォルト: 空白 (TCP/IP接続を使用)

$cfg['Servers’][$i]['auth_type’]
この設定項目は、phpMyAdmin がデータベースサーバーへの認証方法を指定します。

  • 値:
    config: 設定ファイルに保存された認証情報を使用します。
    http: HTTP ヘッダーに含まれる認証情報を使用します。
    cookie: Cookie に保存された認証情報を使用します。
    user: ユーザー名とパスワードによる認証を使用します。

$cfg['Servers’][$i]['user’]
この設定項目は、データベースサーバーへのログインに使用するユーザー名を指定します。

  • 値:
    ユーザー名: データベースサーバーへのログインに使用する有効なユーザー名を指定します。

$cfg['Servers’][$i]['password’]
この設定項目は、データベースサーバーへのログインに使用するパスワードを指定します。

  • 値:
    パスワード: ユーザー名に対応する有効なパスワードを指定します。

上記の設定すれば、ログイン画面は以下のようになります