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

この記事はだいぶ前に書かれたものなので情報が古いかもしれません
ゲーテってIQ200以上あったらしいぜ

この記事を三行にまとめると

サーバーの数だけ用意するのはちょっと面倒だ
「$i」をインクリメントしてけば良い
それで自分が分かるならば
phpMyAdminを使ってデータベースの管理をする際、もしサーバーが複数に別れていたら、サーバーの数だけ用意するのはちょっと面倒だ。

そんなとき、一つのphpMyAdminで複数のデータベースサーバーを管理するにはどうすれば良いか。

答えは、config.inc.phpの書き方にあります。

人によって多少違うとは思いますが、config.inc.phpを見ると、こんなような内容が書いてあります。

$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'サーバーの名前';
$cfg['Servers'][$i]['host'] = 'サーバーのホスト';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

他にも「$cfg[‘Servers’][$i][‘pmadb’]」だの「$cfg[‘Servers’][$i][‘bookmarktable’]」だのいろいろ書いてあると思いますが、ようはこの「$cfg[‘Servers’][$i][‘***’]」の「$i」をインクリメントしてけば良いのです。

//一つ目のサーバー
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'サーバー1の名前';
$cfg['Servers'][$i]['host'] = 'サーバー1のホスト';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

//二つ目のサーバー
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'サーバー2の名前';
$cfg['Servers'][$i]['host'] = 'サーバー2のホスト';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

//三つ目のサーバー
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'サーバー3の名前';
$cfg['Servers'][$i]['host'] = 'サーバー3のホスト';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

//以下同様

こんな感じでどんどん足していけば、いくつでも管理できる……のかどうかは分かりませんが、複数のサーバーを管理することができます。ほとんどの項目は書くこと一緒だろうから、for文とかforeach文で書いても良いと思います。

二つ以上の設定をconfig.inc.phpに書くと、ログイン画面にサーバーを選択するプルダウンメニューが表示されるようになります。

ログイン画面

上記の場合、プルダウンの中身が「dev」って表示されてますが、ここは「$cfg[‘Servers’][$i][‘verbose’]」に入れた文字列が表示されますので、管理する上でどのサーバーか分かるように、適当な文字を入れればオッケーです。中学のときに好きだった子の名前を入れても良いし、ライトノベルのタイトルみたいに「結婚できないと分かっていても僕は二次元の女の子たちの理想の男になるためのデータ収集が止められない」とかでも良いし、「人はほとんど知らないときにのみ知っている」とか偉人の名言を入れといても良い。それで自分が分かるならば。
 もしかしたら何か関連しているかも? 
 質問や感想などお気軽にコメントしてください