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.defaultPHP 文件。
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin';
$cfg['blowfish_secret'] = '123456';
$cfg['DefaultLang'] = 'zh-gb2312';
$cfg['DefaultCharset'] = 'gb2312';
$cfg['Servers'][$i]['auth_type'] = '曲奇';
保存之后,在瀏覽器里輸入:http://localhost/phpmyadmin/user_passwordPHP
使用
phpMyAdmin
phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具。
可以管理整個MySQL服務器(需要超級用戶),也可以管理單個數據庫。為了實現后一種,你將需要合理設置MySQL用戶,他只能對允許的數據庫進行讀/寫。那要等到你看過MySQL手冊中相關的部分。
安裝與配置
目前最新版本是phpMyAdmin 4.1.9。
站點上提供了不同的程序壓縮方式供我們下載,這里我選擇 bz2 方式的來下載(因為這種文件體積小些,下其它格式的也可以)。
下面我們開始對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
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed自己機里不用設置)
注:$cfg['blowfish_secret'] = '';
本機的話不需要設置,但是網絡的話需要設置成cookie:
$cfg['blowfish_secret'] = '曲奇';
設置完畢。
3、打開IE,輸入http://ip/phpmyadmin/(當然你設置不同就用那個網址。),輸入用戶名和密碼后,用phpmyadmin瀏覽相應的MySQL;
如果設置$cfg['Servers'][$i]['auth_type'] = 'cookie'; 所以顯示會要求輸入帳號。
4、$cfg['DefaultLang'] = 'zh'; (這里是選擇語言,zh代表簡體中文的意思)
登錄MySQL的方式
config
直接在配置文件中寫入一個能登錄MySQL的帳號和密碼,只要瀏覽這個datamgr目錄就可以直接以這個寫入配置文件的mysql帳號進行管理mysql的操作。特點是方便,缺點是沒有安全性。
http 利用web服務器的驗證功能,瀏覽datamgr這個目錄前會跳出一個身份驗證窗口,只要MySQL帳號對得上就可以有datamgr目錄的訪問權。這樣比較安全,
不過用cgi或fastcgi的方式配置PHP將無法使用該功能,因為cgi不會向服務器發送一些驗證信息變量。
和http一樣也會跳出一個驗證窗口,不過這個不是用web服務器的驗證功能,直接是php寫的一個普通登錄窗口,只要瀏覽器支持cookie就行,市面上的瀏覽器都應該支持cookie這個基本功能,所以一般選擇cookie驗證方式。
配置詳解
幾乎所有的配置參數都在 config.inc.php文件中。如果這個文件不存在,可以在libraries目錄中找到config.defaultPHP,將它復制到 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.defaultPHP文件里,只有第一個服務器的定義,
不過仍然可以在 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”。
默認為“tcp”,這種方式幾乎可以連接所有的MySQL服務器,而sockets方式不支持某些平臺。
要使用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”字段的所有字段),
MySQLdb表(所有字段),
mysql.tables_priv表(除了“Grantor”和“Timestamp”字段的所有字段)。
這個賬戶用于檢測登錄用戶可以看到的數據庫。
請查閱文檔的安裝章節的"Usingauthenticationmodes"獲取更多信息。
在2.2.5版本之前的phpMyAdmin,這對參數叫做"stduser/stdpass"。
$cfg['Servers'][$i]['auth_type']字符串['http'|'cookie'|'config']
選擇config、曲奇或者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'] 處填寫表名
參考資料 >
什么是PHP?.人民網.2014-10-03