在CentOS 5上安裝最新版phpMyAdmin管理工具

來源:互聯網
上載者:User

  1、我下載的是phpMyAdmin-3.2.3-all-languages版本,這個版本需要php 5.2或更高的版本,所以必須想辦法升級系統內建的php 5.1版本,具體操作就是利用系統yum“測試庫”更新php到5.2版本,可以參考http://blog.csdn.net/boyla/archive/2009/11/14/4811511.aspx 。

 

  2、在Apache Http Server的主目錄/var/www/下建立目錄phpmyadmin,再在/etc/httpd/conf.d/目錄下建立一個設定檔phpmyadmin.conf,配置好虛擬目錄,內容如下:

 


    Alias /phpmyadmin/ "/var/www/phpmyadmin/"

    <Directory "/var/www/phpmyadmin/">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

 

  3、把phpMyAdmin的壓縮包在本地解開(注意本地phpmyadmin/scripts/create_tables.sql 指令檔在後面還要用到),並上傳到/var/www/phpmyadmin/目錄裡,以後就可以通過http://192.168.0.33/phpmyadmin/這個URL訪問了,可是第一次訪問時介面還沒登入就顯示一個警告資訊,“無法載入 mcrypt 擴充,請檢查您的 PHP 配置”,不爽。初步判斷是缺少模組沒有安裝,通過在系統控制台執行:

 

  yum search mcrypt

 

  果然發現有一個模組叫“php-mcrypt”,再執行:

 

  yum install php-mcrypt

 

  提示安裝成功。再開啟http://192.168.0.33/phpmyadmin/可是警告資訊還是有。鬱悶。通過在系統控制台執行:

 

  php -v

 

     系統提示 PHP Warning:  PHP Startup: mcrypt: Unable to initialize module

   仔細想一想應該是版本不匹配,通過執行:

 

  yum install php-mcrypt --disablerepo=/* --enablerepo=testing

 

  果然發現測試庫裡有一個配套的5.9.2版本的同名模組,確認安裝後,再訪問http://192.168.0.33/phpmyadmin/警告資訊居然還是有,不解,通過php -v檢查,發現前面的錯誤提示已沒了,奇怪。再一想php是Apache Http Server通過模組形式調用的,可能是需要重起Apache Http Server,執行 service httpd restart,再訪問http://192.168.0.33/phpmyadmin/警告資訊果然沒了。爽。:)

 

  4、在登入介面輸入MySQL管理使用者名root,再輸入密碼,居然登入成功了,本以為要進一步設定的,因為看文檔需要配置一個config.inc.php,即可以手工建立,也可以通過訪問http://192.168.0.33/phpmyadmin/setup/配置,現在看來預設配置很不錯;不過,登入進去發現系統介面提示“沒有找到 PHP 擴充 mbstring,而您現在好像在使用多位元組字元集。沒有 mbstring 擴充的 phpMyAdmin 不能正確分割字串,可能產生意想不到的結果”,更要命的是還有一個安全警告:“設定檔現在需要一個短語密碼”。很顯然,還需要更多的工作要做。

 

  針對第一個警告,在控制台執行:

 

  yum install php-mbstring --disablerepo=/* --enablerepo=testing

 

  果然發現有一個和PHP版本號碼一致的php-mbstring模組,確認安裝後,並重起Apache Http Server,再重新進入系統,果然第一個警告沒了。:)

 

  5、針對第二個警告,檢查phpMyAdmin安裝文檔,發現預設配置為Cookies認證方式,在HTTP協議訪問時需要對Cookie加密,所以要提供一個短語密碼,考慮到我的實際情況在本地編輯產生一個config.inc.php設定檔,上傳到/var/www/phpmyadmin/目錄,具體內容如下:

 

<?php

$i = 0;

/* Server: MySql */
$i++;
$cfg['Servers'][$i]['verbose'] = 'MySql';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
/* End of servers configuration */

$cfg['DefaultLang'] = 'zh-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['blowfish_secret'] = '8a995d909b9382.754a557b';
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['DefaultCharset'] = 'gbk';

/* User for advanced features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'myPass239';

/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
?>

 

  值得注意的是上述設定檔中的localhost,不可以換成127.0.0.1,否則會有出錯提示:#2003 - Can't connect to MySQL server on '127.0.0.1' (13),不知道為什麼,雖然我已通過mysql用戶端操作符執行了:GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'myPassword#' WITH GRANT OPTION;以期允許root使用者通過127.0.0.1主機登入。結果很令人失望。在網上查了資料,後來在服務端的設定檔/etc/my.cnf的[mysqld]配置節加了skip-name-resolve重起了服務也還是不行。只能把localhost進行到底。:(

 

  6、登入進去後,phpMyAdmin還是提示了兩個警告,一個是:連結資料表的額外特性尚未啟用。要查出原因,請點擊此處,另一個是:使用設定檔中定義的控制使用者串連失敗。這兩個警告的出現的根本原因是上述的設定檔中設定了phpMyAdmin進階特性的相關參數,見注釋/* User for advanced features */和/* Advanced phpMyAdmin features */下的設定。具體解決辦法如下:

 

    進入phpMyAdmin管理介面後,利用匯入功能,匯入phpMyAdmin壓縮包在本地釋放出來的phpmyadmin/scripts/create_tables.sql 指令檔,執行後會產生一個phpmyadmin資料庫,同時會產生幾張表;然後,建立立一個使用者pma,密碼為myPass239,總之和上述設定檔設定一樣就可以,你可以根據你自己的實際情況設定相應的使用者名稱和密碼;建立使用者時允許pma通過localhost主機訪問phpmyadmin資料庫,使用者建立好好,授與其對phpmyadmin資料庫有select,update,insert,delete許可權。至此一切OK啦。關於phpMyAdmin這些進階特性的用法有待再研究;最後再附一圖供參考。:)

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.