使用 phpMyAdmin 管理多臺 MySQL

菜就多努力呀n發表於2019-07-27

預設安裝的 phpMyAdmin,通常只能連線一臺 MySQL 伺服器,其配置資訊是儲存在 phpMyAdmin 的配置檔案裡的,當我們需要在多臺伺服器之間進行切換登陸的時候,修改起來非常麻煩。遵照下面的配置方法,我們可以方便的使用 phpMyAdmin 連線多臺 MySQL

登陸 phpMyAdmin 時輸入伺服器ip地址、使用者名稱、密碼

缺點:
  1. 登陸操作比較繁瑣,而且切換伺服器時須首先退出當前所登陸的伺服器。
步驟:
  1. 複製 phpMyAdmin 根目錄下的 config.sample.inc.php 檔案,重新命名為 config.inc.php
  2. $cfg[‘AllowArbitraryServer’] 的預設值 false 修改為 true 即可實現管理多臺 MySQL 伺服器;
    /**
    * allow login to any user entered server in cookie based authentication
    *
    * @global boolean $cfg[‘AllowArbitraryServer’]
    */
    $cfg['AllowArbitraryServer'] = true;

登陸 phpMyAdmin 時只需輸入使用者名稱、密碼、伺服器地址為下拉選單可選,登陸後也可選擇其他伺服器快速切換;
如果安全性要求不高,可以將 auth_type 設定為 config,不用輸入使用者名稱和密碼,通過下拉框即可切換 MySQL 伺服器

優點:
  1. 登陸操作簡便,登陸後切換伺服器無須退出當前連線。
步驟:
  1. 複製 phpMyAdmin 根目錄下的 config.sample.inc.php 檔案,重新命名為 config.inc.php;
  2. 在檔案中定義你的多臺伺服器配置資訊:
    $hosts = [
        1 => ['host' => 'localhost', 'user' => 'root', 'password' => 'root'],
        2 => ['host' => '192.168.10.10', 'user' => 'homestead', 'password' => 'secret']
    ];
  3. 在加入以下程式碼片段,通過 for 迴圈來讀取多臺 MySQL 伺服器配置資訊
    for($i = 1; $i <= count($hosts); $i++){
        /* Authentication type */
        $cfg['Servers'][$i]['auth_type'] = 'cookie';
        /* Server parameters */
        $cfg['Servers'][$i]['host'] = $hosts[$i]['host'];    //修改host
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['compress'] = false;
        /* Select mysqli if your server has it */
        $cfg['Servers'][$i]['extension'] = 'mysql';
        $cfg['Servers'][$i]['AllowNoPassword'] = true;
        $cfg['Servers'][$i]['user'] = $hosts[$i]['user'];    //修改使用者名稱
        $cfg['Servers'][$i]['password'] = $hosts[$i]['password'];    //密碼
    }
  4. 儲存檔案,重新登陸即可實現管理多臺 MySQL 伺服器。

原文連結:配置 phpMyAdmin 使登入時可填寫 IP 管理多臺 MySQL

刻意練習,日益精進。

相關文章