PhpMyAdmin
PhpMyAdmin
phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具,讓管理者可用Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料的匯入及匯出更為方便。其中一個更大的優勢在於由於phpMyAdmin跟其他PHP程式一樣在網頁伺服器上執行,但是您可以在任何地方使用這些程式產生的HTML頁面,也就是於遠端管理MySQL資料庫,方便的建立、修改、刪除資料庫及資料表。也可藉由phpMyAdmin建立常用的php語法,方便編寫網頁時所需要的sql語法正確性。
PHP是一個基於服務端來創建動態網站的腳本語言,您可以用PHP和HTML生成網站主頁。當一個訪問者打開主頁時,服務端便執行PHP的命令並將執行結果發送至訪問者的瀏覽器中,這類似於ASP和CoildFusion,然而PHP和他們不同之處在於PHP開放源碼和跨越平台,PHP可以運行在WINDOWS和多種版本的LINUX上。它不需要任何預先處理而快速反饋結果,它也不需要mod_perl的調整來使您的伺服器的內存映象減小。PHP消耗的資源較少,當PHP作為ApacheWeb伺服器一部分時,運行代碼不需要調用外部二進位程序,伺服器不需要承擔任何額外的負擔。
除了能夠操作您的頁面外,PHP還能發送HIIP的標題。您可以設置cookie,管理數字簽名和重定向用戶,而且它提供了極好的連通性到其它資料庫(還有ODBC),集成各種外部庫來做用PDF文檔解析XML的任何事情。
phpMyAdmin 是一個用PHP編寫的軟體工具,可以通過web方式控制和操作MySQL資料庫。通過phpMyAdmin 可以完全對資料庫進行操作,例如建立、複製和刪除數據等等。如果使用合適的工具,MySQL資料庫的管理就會變得相當簡單。應用 MySQL 命令行方式需要對 MySQL 知識非常熟悉,對SQL語言也是同樣的道理。不僅如此,如果資料庫的訪問量很大,列表中數據的讀取就會相當困難。
當前出現很多GUI MySQL客戶程序,其中最為出色的是基於 Web 的phpMyAdmin 工具。這是一種 MySQL資料庫前台的基於PHP的工具。
PhpMyAdmin 的缺點是必須安裝在 Web 伺服器中,所以如果沒有合適的訪問許可權,其它用戶有可能損害到 SQL 數據。
1、v4.8.2
2、v4.8.0.1
3、v4.0.9
4、v3.5.8.2
搜索PhpMyAdmin安裝包下載安裝
將下載文件解壓縮到 WEB 訪問路徑下。文件目錄如phpmyadmin。
然後配置目錄下libraries文件下的 config.default.php 文件。
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin';
$cfg['blowfish_secret'] = '123456';
$cfg['DefaultLang'] = 'zh-gb2312';
$cfg['DefaultCharset'] = 'gb2312';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
保存之後,在瀏覽器里輸入:http://localhost/phpmyadmin/user_password.php
phpMyAdmin
phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具。
可以管理整個MySQL伺服器(需要超級用戶),也可以管理單個資料庫。為了實現后一種,你將需要合理設置MySQL用戶,他只能對允許的資料庫進行讀/寫。那要等到你看過MySQL手冊中相關的部分。
安裝與配置
目前最新版本是phpMyAdmin 4.1.9。
站點上提供了不同的程序壓縮方式供我們下載,這裡我選擇 bzip2 方式的來下載(因為這種文件體積小些,下其它格式的也可以)。
下面我們開始對phpmyadmin進行設置。
2、解壓后得到一個目錄,進入相關目錄中的\libraries目錄,找到 config.default.php文件copy份到上級目錄,並命名為config.inc.php ;
在config.inc.php中
找到 $cfg['PmaAbsoluteUri']
修改你將用於讓虛機用戶訪問的phpMyAdmin的網址
如:$cfg['PmaAbsoluteUri'] = 'http://ip/phpmyadmin/'; 或$cfg['PmaAbsoluteUri'] = 'http://ip:8899' (寫出訪問phpMyAdmin的絕對URL)
還有這些更改的地方:
$cfg['Servers'][$i]['host'] = 'localhost';(通常用默認,也有例外)
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
用cookie。因為是網路上使用所以這裡選擇cookie
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed自己機里不用設置)
註:$cfg['blowfish_secret'] = '';
本機的話不需要設置,但是網路的話需要設置成cookie:
$cfg['blowfish_secret'] = 'cookie';
設置完畢。
3、打開IE,輸入http://ip/phpmyadmin/(當然你設置不同就用那個網址。),輸入用戶名和密碼后,用phpmyadmin瀏覽相應的mysql資料庫;
如果設置$cfg['Servers'][$i]['auth_type'] = 'cookie'; 所以顯示會要求輸入帳號。
4、$cfg['DefaultLang'] = 'zh'; (這裡是選擇語言,zh代表簡體中文的意思)
登錄MySQL的方式
config
直接在配置文件中寫入一個能登錄mysql的帳號和密碼,只要瀏覽這個datamgr目錄就可以直接以這個寫入配置文件的mysql帳號進行管理mysql的操作。特點是方便,缺點是沒有安全性。
phpMyAdmin
不過用cgi或fastcgi的方式配置php將無法使用該功能,因為cgi不會向伺服器發送一些驗證信息變數。
cookie
和http一樣也會跳出一個驗證窗口,不過這個不是用web伺服器的驗證功能,直接是php寫的一個普通登錄窗口,只要瀏覽器支持cookie就行,市面上的瀏覽器都應該支持cookie這個基本功能,所以一般選擇cookie驗證方式。
幾乎所有的配置參數都在 config.inc.php文件中。如果這個文件不存在,可以在libraries目錄中找到config.default.php,將它複製到 phpmyadmin 目錄,並改名為 config.inc.php。
涉及到界面設計(例如顏色)的參數,存放在 themes/themename/layout.inc.php文件中。也可以創建 config.footer.inc.php文件和 config.header.inc.php 文件來添加站點的自定義代碼,這些代碼顯示在頁眉和頁腳。
$cfg[PmaAbsoluteUri]字元串
這裡填寫phpMyAdmin安裝目錄的完整URL(包括完整的路徑)
注意,在某些瀏覽器,URL 是大小寫敏感的。不要忘記結尾處的反斜杠。從2.3.0版本開始,可以嘗試不填這個參數。phpMyAdmin 可以自動檢測到正確的配置。使用埠轉向的 用戶必須填寫 PmaAbsoluteUri(如果伺服器在防火牆後面,phpMyAdmin將無法載入圖形和樣式表)。
檢測方法是瀏覽一個表,編輯一條記錄並保存,如果phpMyAdmin 無法檢測正確的值,系統將會有錯誤提示。
如果看到錯誤提示,必須手工設置這個參數。
$cfg[PmaNoRelation_DisableWarning]布爾
從2.3.0版本開始,phpMyAdmin 提供了對主/外部數據表的支持(參考 $cfg['Servers'][$i]['pmadb'] 參數)。
如果不能使用這些功能,請查閱某個資料庫的“Structure”頁面。那裡會有一個連接,它會分析這些功能被禁止的原因。
如果不想使用這些功能,將這個參數設置為TRUE,這個信息將不會顯示。
$cfg[blowfish_secret]字元串
從2.5.2版本開始,“cookie”認證方式使用blowfish演演算法來加密密碼。如果使用“cookie”認證方式,請在這裡輸入一個隨機密鑰,該密鑰在blowfish演演算法內部使用:
在使用過程中不會提示輸入它。密鑰最大長度為46個字元。
$cfg[Servers]數組
從1.4.2版本開始,phpMyAdmin 可以管理多個MySQL伺服器。
因此,加入了 $cfg['Servers'] 參數,這是一個數組,包括了不同伺服器的登錄信息。
第一個 $cfg['Servers'][$i]['host'] 參數是第一個伺服器的主機名,
第二個 $cfg['Servers'][$i]['host'] 參數是第二個伺服器的主機名,依此類推。
在 libraries/config.default.php文件里,只有第一個伺服器的定義,
不過仍然可以在 config.inc.php自己添加更多的伺服器,
複製整個塊,或者需要的部分(不需要定義所有的值,只需要那些修改過的參數)。
$cfg['Servers'][$i]['host']字元串
第i個伺服器的主機名或者IP地址,例如localhost。
$cfg['Servers'][$i]['port']字元串
第1個伺服器的埠號。默認是3306(可以不填)。
如果主機名是“localhost”,MySQL將無視埠號,以socket方式連接。
所以,如果需要連接一個不同的埠號,請在 $cfg['Servers'][$i]['host'] 填寫“127.0.0.1”或者真實的主機名。
$cfg['Servers'][$i]['socket']字元串
socket路徑。不填為默認值。
$cfg['Servers'][$i]['connect_type']字元串
與MySQL伺服器的連接方式,可以選擇“socket”或者“tcp”。
要使用socket方式,MySQL伺服器必須和Web伺服器在用一台伺服器。
$cfg['Servers'][$i]['extension']字元串
phpMyAdmin 系統使用的 phpMySQL 擴展:
mysql:經典的MySQL擴展。默認值並推薦MySQL4.0用戶使用。
mysqli:改進的MySQL擴展。包含在php5.0.0以上版本中,推薦MySQL4.1.0以上版本用戶使用。
$cfg['Servers'][$i]['compress']布爾
是否使用壓縮協議來連接MySQL伺服器。
本功能需要PHP4.3.0以上版本。
$cfg['Servers'][$i]['controluser']字元串
$cfg['Servers'][$i]['controlpass']字元串
這個特殊賬戶有2個特殊作用:是的某些相關功能可用(參考$cfg['Servers'][$i]['pmadb']參數);
在低於4.1.2版本,或者“--skip-show-database”參數打開的MySQL伺服器上,打開多用戶功能(需要http或者cookie認證模式)。
如果使用HTTP或者cookie認證模式(或在phpMyAdmin2.2.1以上版本使用“config”認證模式),
需要設立一個MySQL賬戶,該賬戶只有以下表的SELECT許可權:
mysql.user表(除了“Password”欄位的所有欄位),
mysql.db表(所有欄位),
mysql.tables_priv表(除了“Grantor”和“Timestamp”欄位的所有欄位)。
這個賬戶用於檢測登錄用戶可以看到的資料庫。
請查閱文檔的安裝章節的"Usingauthenticationmodes"獲取更多信息。
在2.2.5版本之前的phpMyAdmin,這對參數叫做"stduser/stdpass"。
$cfg['Servers'][$i]['auth_type']字元串['http'|'cookie'|'config']
選擇config、cookie或者http認證。
*'config'認證($auth_type='config')是最簡單的模式,用戶名和密碼存儲在config.inc.php文件里;
*'cookie'認證模式($auth_type='cookie')2.2.3以上版本允許通過cookie,以任何合法的MySQL用戶登錄。
用戶名和密碼存儲在cookie中,註銷后將刪除密碼。也可以登錄任意的伺服器(需要打開 $cfg['AllowArbitraryServer'] 參數)。
*'http'認證(在老版本叫做'advanced')($auth_type='http')1.3.0以上版本允許您通過HTTP-Auth,以任何有效的MySQL用戶登錄。
請查閱文檔的安裝章節的"Usingauthenticationmodes"獲取更多信息。
$cfg['Servers'][$i]['user']字元串
$cfg['Servers'][$i]['password']字元串
如果auth_type='config',phpMyAdmin將使用這個賬戶來連接MySQL伺服器。
如果您使用HTTP或者cookie認證,請不要填寫這個賬戶。
$cfg['Servers'][$i]['only_db']字元串或數組
如果填寫了某個(或者某組)資料庫,那麼登錄用戶將只看到這個(或這些)資料庫。
從phpMyAdmin2.2.1 開始,資料庫名可以使用 MySQL 通配符("_"和"%"):
請用斜杠區分這兩個符號,例如,應當使用'my/_db'而不是'my_db'。
本功能可以有效降低伺服器負載,MySQL伺服器將不會建立可用資料庫的列表。
但本功能不會覆蓋MySQL伺服器的許可權規則,
設置本參數,僅僅表示只顯示這些資料庫,並不是所有顯示出來的資料庫都能被訪問。
多個資料庫的例子
代碼
$cfg['Servers'][$i]['only_db']=array('db1','db2');
從phpMyAdmin2.5.5開始,數組中的順序將被用來作為頁面左邊幀的資料庫顯示順序。因此,可以自己排列資料庫。
如果只希望在列表開頭顯示某幾個資料庫,而不管其他的,那麼,不需要指定所有的資料庫。
只需要填寫:
代碼
$cfg['Servers'][$i]['only_db']=array('db3','db4','*');
phpMyAdmin將把db3和db4顯示在開頭,其他的按照默認順序排列。
$cfg['Servers'][$i]['hide_db']字元串
用於隱藏某些資料庫的正則表達式。這些資料庫只是不顯示在列表中,用戶仍然可以訪問他們。
$cfg['Servers'][$i]['verbose']字元串
只有當多伺服器模式時有效。設置以後,本字元串將代替主機名顯示在首頁的下拉菜單中。
$cfg['Servers'][$i]['pmadb']字元串
包含連接表結構的資料庫名稱。
詳細情況請查閱文檔的Linked-tablesinfrastructure章節。
如果是phpMyAdmin的唯一用戶,可以使用當前的資料庫來存儲這些特殊的數據,填寫當前資料庫名即可。
如果的phpMyAdmin配置為多個用戶使用,在這裡填寫包含連接表結構的中心資料庫名稱。
$cfg['Servers'][$i]['bookmarktable']字元串
從2.2.0版本開始,phpMyAdmin允許將經常使用的查詢存儲在書籤中。
打開本功能的方法:
*設置 pmadb 以及連接表結構
*在 $cfg['Servers'][$i]['bookmarktable'] 處填寫表名