github: https://github.com/vrana/adminer
官方文檔:https://www.adminer.org/#download
Supports: MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB, SimpleDB (plugin), Firebird (plugin), ClickHouse (plugin)
每個WordPress站點都需要一個數據庫才能運行——它是WordPress存儲所有站點關鍵數據的地方。雖然phpMyAdmin多年來一直是MySQL/MariaDB數據庫管理的主要工具,但 Adminer 是一個很好的選擇。它加載了大量有用的功能和更漂亮的用戶界面,所有這些都在一個輕量級的PHP文件中,您可以在您的服務器上快速部署。
什么是Adminer?
Adminer(以前稱為phpMinAdmin)是一個基於PHP的免費開源數據庫管理工具。在您的服務器上部署非常簡單。要使用它,您所要做的就是上傳它的單個PHP文件,將瀏覽器指向它,然后登錄。
Adminer登錄頁面
與phpMyAdmin僅支持管理MySQL和MariaDB數據庫不同,Adminer還支持管理其他數據庫,如PostgreSQL、SQLite、MS SQL、Oracle、SimpleDB、Elasticsearch、MongoDB和Firebird。它還提供43種語言版本。
Adminer提供易於使用的界面,更好地支持許多MySQL功能,更卓越的性能和更高的安全性。
使用
但在開始安裝之前,以下是讓Adminer在您的服務器上工作的一些基本要求:
- 安裝PHP 5、7 或8
- 一個數據庫驅動程序(例如MySQL、PostgreSQL等)
從他們的官方網站下載最新版本的Adminer。您還可以在那里找到僅MySQL和僅英語版本的Adminer。如果您正在管理MySQL或MariaDB數據庫(例如用於 WordPress 站點),您可以獲得這些較輕的變體。
下載Adminer的最新版本
或者,如果您使用的是終端,則可以使用curl命令將其直接下載到您的目錄中。
curl -o https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8.php
下載后,您可以將此.php文件放在服務器上的任何位置,例如其根文件夾。但是,將所有第三方工具放在單獨的目錄(例如vendor、assets等)中是一種很好的做法。
您現在已經在您的服務器上安裝了Adminer。它的即插即用設計意味着Adminer幾乎可以在任何服務器上運行。
如何訪問Adminer
要訪問它,您需要做的就是通過瀏覽器訪問其鏈接。
例如,如果您將其放在網站的根目錄中,則可以通過訪問https://your-website.com/adminer-4.7.8.php來訪問它。如果您沒有設置域名,您也可以通過您服務器的IP地址或本地主機環境訪問它。
使用或不使用數據庫名稱登錄Adminer
從這里,您可以登錄到安裝在服務器上的任何數據庫。您也可以將數據庫字段留空。Adminer將在下一個屏幕上向您顯示所有數據庫的列表。
勾選Permanent login選項將節省您的登錄信息,所以你可以很容易地在以后通過在側欄的鏈接重溫這段會話。
如果不指定,Adminer會列出所有數據庫
Adminer功能
Adminer包括許多功能,使數據庫管理更加輕松。是時候深入了解它們了。
- 連接到數據庫服務器
- 創建新數據庫
- 更改數據庫名稱和排序規則類型
- 探索數據庫架構
- 檢查表數據和結構
- 更改表和列設置
- 插入新記錄並更新現有記錄
- 在所有表中搜索數據
- 截斷、刪除、移動和復制表
- 創建表、視圖、例程和事件
- 導入或導出數據庫
- 執行SQL查詢
- 顯示和創建權限(用戶)
- 廣泛的定制選項
連接到數據庫服務器
如前所述,您可以連接到Adminer支持的任何數據庫服務器。對於MySQL數據庫服務器,默認用戶名是root,默認密碼是空字符串。您還可以在此處選擇要管理的現有數據庫。
使用Adminer管理WordPress數據庫
創建新數據庫
您可以單擊Create database鏈接來創建新的MySQL數據庫。輸入數據庫名稱並選擇其歸類類型。對於WordPress數據庫,推薦的整理類型是utf8mb4_unicode_ci。
在Adminer中創建新數據庫
創建數據庫后,您可以更改它的各個方面,例如數據庫的名稱、架構、用戶和表。
設置數據庫名稱和排序規則類型以創建數據庫
您現在已經創建了一個新的MySQL數據庫。下一頁將向您展示用表、列等填充它的更多選項。
找到下拉菜單和標題中列出的新數據庫
更改數據庫名稱和排序規則類型
單擊“Alter database”鏈接將允許您更改其名稱和歸類類型。如果您剛剛創建了一個數據庫並輸入了錯誤,這將非常方便。
使用管理員的“Alter database”選項輕松編輯數據庫
例如,我將數據庫的整理類型從utf8_unicode_ci 更改為utf8mb4_unicode_ci。
在Adminer中更改數據庫
注意:如果您的數據庫已被任何應用程序使用,請確保您在此處所做的更改也反映在您的應用程序代碼中。
檢索數據庫Schema
數據庫模式是指定義所有數據庫元素如何關聯的邏輯配置。在MySQL中,Schema是數據庫的同義詞。所以,他們指的是同一件事。
但是,在PostgreSQL和Oracle等其他數據庫中,Schema是指表的集合。它只是數據庫的一部分。
WordPress使用MySQL作為其數據庫。因此,它的Schema本質上是它的表及其列。Adminer甚至允許您在Schema框周圍移動並根據需要使用它們。
在Adminer中檢索WordPress數據庫Schema
這是了解典型 WordPress 數據庫結構的來龍去脈的好方法。
檢查表數據和結構
單擊任何表格將顯示有關它的更多詳細信息。默認情況下,Adminer會將您定向到表的Show structure選項卡。在這里,您將找到有關表列的信息,例如它們的名稱、類型和索引。
單擊表格將顯示其“結構”
如果您的數據庫表有任何關聯的外鍵或觸發器,它們也會列在此處的最底部。
上面的示例顯示了有關wp_options表的詳細信息。這是WordPress存儲其所有重要設置的地方。接下來,您可以轉到“Select data”選項卡以查看存儲在此表中的所有值。
查看按列列出的所有表數據
正如您所看到的,這里的用戶界面比phpMyAdmin中的用戶界面要容易得多。
更改表和列設置
單擊頂部的Alter table鏈接以更改表和列設置。
通過Adminer輕松更改數據庫表和列
對於表,您可以更改其名稱、引擎和歸類類型。在底部,您還可以找到用於設置表的默認值以啟動自動增量的選項,以及是否可以使用默認值和注釋設置其列。
對於列,您可以更改它們的名稱、類型、長度和排序規則類型。
您還可以通過單擊+和x按鈕來添加或刪除列。Drop按鈕將完全刪除數據庫中的表,所以請謹慎使用。
完成更改后,不要忘記點擊“Save”按鈕。
插入新記錄並更新現有記錄
點擊New item鏈接轉到Insert: <table_name>選項卡。
在數據庫表的列中插入新記錄
在這里,您可以向表中添加新行。管理員列出了列名稱及其類型,以便您可以快速輸入它們。您還可以為您輸入的值運行散列函數以自動加密它們。如果數據是敏感的,例如密碼,這將非常有用。例如,WordPress使用MD5算法將其密碼存儲在數據庫中。
編輯現有記錄同樣簡單。例如,如果您想更改站點的描述,您可以在wp_options表中編輯blogdescription選項的值。
在Adminer中編輯現有數據庫記錄
接下來,在option_value字段中輸入您的新博客描述,然后單擊SAVE按鈕以使您的更改生效。
通過Adminer更改WordPress站點的描述
在所有表中搜索數據
Adminer允許您一次在數據庫的所有表中搜索任何數據。它會向您顯示最有可能保存此值的表。
在Adminer中的數據庫中搜索術語
當我搜索詞home時,Adminer將wp_options表作為最有可能的候選者。單擊它會向我顯示Adminer在數據庫中找到它的確切列和行。
單擊搜索結果下方列出的表格將顯示有關它的更多詳細信息。從這里,您可以在此表中執行更精細的搜索。
在建議的表格中深入搜索
例如,我可以編輯home選項名稱的值並更改我網站的主頁URL。
清空、刪除、移動和復制表
Adminer允許您直接從數據庫的儀表板對表執行許多操作。
輕松對表執行SQL操作
您可以通過選擇表並單擊下面的按鈕對表執行許多SQL查詢。
例如,如果您想清空您網站上的所有評論,您可以選擇wp_comments表並點擊Truncate按鈕。它會清空表中的所有行,但仍會保留現有的列結構。點擊Drop按鈕將完全刪除表格。
從這里,您還可以將表Move或Copy到另一個數據庫。使用Overwrite選項,這是一種將站點數據(例如帖子和評論)從一個站點傳輸到另一個站點的快速而骯臟的方式。
創建表、視圖、例程和事件
您可以使用Adminer創建新表、視圖、例程和事件。
使用Adminer創建新表很簡單
在Create table功能允許您定義表的完整模式,包括它的列和嵌套值。
高級用戶可以使用Adminer的其他高級功能來定義MySQL視圖、過程、函數和事件。
使用Adminer輕松創建許多其他SQL功能
導入或導出數據庫
Adminer可讓您輕松導入MySQL數據庫。您需要做的就是上傳備份的.sql或 . sql.gz(推薦)文件並執行它。
在Adminer中導入MySQL數據庫
同樣,使用 Adminer備份現有數據庫也非常簡單。單擊Export鏈接,然后選擇導出選項,例如輸出類型、格式和其他數據庫設置。您還可以選擇要導出的表。
在Adminer中導出數據庫
默認情況下,Adminer支持使用Open、Save或GZIP輸出導出數據庫,使用SQL、CSV、CSV ;, 或TSV格式。但是,您可以使用Adminer插件輕松擴展此功能。我將在本文后面介紹它們。
執行SQL查詢
您不必使用Adminer處理笨拙的用戶界面來運行SQL查詢。只需訪問SQL命令屏幕並執行您想要的任何查詢。
在管理員的SQL命令中運行SQL查詢
注意語法高亮。Adminer甚至將突出顯示的SQL關鍵字鏈接到他們的官方文檔。
在執行查詢之前,您可以限制其行,將其設置為在遇到錯誤時停止運行,並且僅顯示錯誤的輸出。
顯示和創建權限(用戶)
您可以使用Adminer為您的數據庫創建具有自定義權限的新用戶。在大多數情況下這是不必要的,但如果您想創建一個新用戶,您可以選擇快速創建。
Adminer中的“權限”菜單鏈接
在Adminer中創建數據庫用戶
廣泛的定制選項
您可以使用其默認Adminer類使用自定義代碼擴展或覆蓋 Adminer 的默認功能。為此,您需要定義一個adminer_object函數,該函數返回Adminer類的自定義值。
例如,如果要自定義頁面標題和標題中顯示的名稱,可以使用以下代碼:
您現在可以在標題部分看到我們設置的自定義名稱(“Adminer for Wbolt”)。
使用其擴展API自定義Adminer的標頭
您可以使用Adminer的擴展來做更多很酷的事情。您可以在他們的API參考頁面上了解有關Adminer擴展的更多信息。
Adminer插件
Adminer插件是即用型擴展,您可以使用它們輕松擴展Adminer的默認功能。
例如,如果您想以XML格式導出數據庫,您可以安裝Adminer dump-xml插件。同樣,如果要將數據庫導出為ZIP壓縮文件,可以插入dump-zip擴展名。
使用插件擴展管理員的默認輸出選項
官方網站列出了一些最流行的Adminer插件。您還可以在那里找到有關如何設置和使用Adminer插件的信息。
Adminer主題
Adminer最酷的功能之一是它的主題功能。官網列出了一些現成的設計,你可以馬上使用。
插入Adminer主題以更改其外觀
要使用Adminer主題,您需要將主題的adminer.css文件放在adminer.php所在的同一目錄中。
就這么簡單。
用其主題完全重新設計Adminer
上面的示例是Adminer網站上列出的Hydra主題。這是Adminer基於Material Design的深色主題。
另一個Adminer主題 (mvt)
其他一些不錯的Adminer主題示例是Adminer Bootstrap-Like Design和Adminer Theme by pematon。使用上述任一主題作為模板,您可以通過修改CSS文件來根據自己的喜好自定義它們。
Adminer vs phpMyAdmin
既然我們已經探索了Adminer的許多功能,現在是時候看看Adminer與行業領導者phpMyAdmin的比較了。以下是對它們如何在各個方面疊加的簡要回顧:
功能比較
phpMyAdmin僅支持MySQL數據庫,而Adminer支持許多其他數據庫。Adminer也可用於僅MySQL版本。
與Adminer相比,在phpMyAdmin中編輯和創建表是件苦差事。使用Adminer可以批量選擇數據並一次性編輯它們。您會發現phpMyAdmin在這方面有所欠缺。
您還可以查看Adminer Editor,它是專注於編輯數據庫的Adminer變體。它一次僅適用於一個數據庫,您需要將其連接到另一個數據庫才能使其工作。
phpMyAdmin在某些方面表現出色。例如,它比Adminer支持更多的語言和導出格式。其龐大的用戶群確保有一個蓬勃發展的社區,如果您遇到任何問題,他們願意為您提供幫助。
安全性
根據Adminer的團隊的說法,“安全是Adminer開發的第一要務。”例如,Adminer阻止對數據庫的訪問,而無需在后端設置密碼。它還限制連接嘗試以防止暴力或SQL注入攻擊。
Adminer的即插即用設計還意味着您可以在不再需要它時快速將其從服務器中刪除。如果以后想再次使用,可以快速上傳回來。你不能用phpMyAdmin做同樣的事情。
通過使用Adminer的login-ssl插件,您可以使用SSL連接到您的MySQL數據庫服務器。Adminer的儀表板還會提示您是否有新版本可用,因此您可以確保始終使用最新版本。
性能
根據Juraj Hajdúch的獨立測試,Adminer平均比phpMyAdmin快28%。雖然他們早在2009年就發布了這些結果,當時Adminer還處於起步階段,它是唯一可用的獨立性能測試(目前)。
由於Adminer僅包含一個輕量級文件,因此您甚至可以將其部署在資源最有限的服務器上。
用戶體驗
與phpMyAdmin不同,使用Adminer從一開始就輕而易舉。您不必涉足任何配置或設置。它只是有效。
Adminer還提供了更好、更友好的用戶界面。使用Adminer自定義表、列及其值非常簡單。導入數據庫或進行備份也是如此。
此外,Adminer插件和主題讓您可以自定義其功能和界面以滿足您的要求。從用戶體驗的角度來看,這使得Adminer成為明顯的贏家。
文件大小
Adminer是一個小巧的數據庫管理工具。這是至少28個比phpMyAdmin的更小的時候,即使它支持多種數據庫類型比phpMyAdmin的。
Adminer的最新全功能版本 (v4.7.8) 僅有478KB大小,而phpMyAdmin的最新版本 (v5.0.4) 為13.7MB(另外,它是一個要啟動的壓縮文件)。當您考慮Adminer的僅MySQL版本 ( 354 KB )時,文件大小差異甚至更加明顯。
如何在WordPress中使用Adminer
在WordPress中使用Adminer沒有特定的方法。它適用於所有MySQL數據庫。下載它的PHP文件,將其放置在您服務器上的任何位置,然后從您的瀏覽器訪問它。登錄Adminer后,您可以使用它瀏覽WordPress站點的數據庫。
我建議您在使用完后從服務器中刪除Adminer文件。將它長時間放置在您的服務器上無人看管可能會使您的數據庫面臨漏洞。
有一個名為ari-adminer的WordPress插件,可讓您直接從WordPress儀表板訪問Adminer。但是,由於嚴重的安全問題,它已關閉且近兩年不再可供下載。
小結
Adminer是phpMyAdmin的最佳替代品之一。它不僅占地面積更小,而且使用起來也更加快捷。它正在緩慢但不斷地發展。Adminer的最新版本增加了對PHP8環境的支持,使其面向未來。