如何使用 Adminer 通過單個 PHP 文件輕鬆管理數據庫
已發表: 2021-01-18管理 MySQL 數據庫是成為專業 WordPress 開發人員的基本要求之一。 Adminer 極大地簡化了這項任務。
每個 WordPress 網站都需要一個數據庫才能運行——它是 WordPress 存儲所有網站關鍵數據的地方。 雖然 phpMyAdmin 多年來一直是主要的 MySQL/MariaDB 數據庫管理工具,但 Adminer 是一個很好的選擇。 它裝載了大量有用的功能和更漂亮的 UI,所有這些都在一個輕量級的 PHP 文件中,您可以在服務器上快速部署。
在這篇文章中,您將了解 Adminer,它比 phpMyAdmin 提供的許多好處,以及如何使用它來管理您的數據庫。 我們還將探討 DevKinsta 如何使用 Adminer 在本地開發環境中簡化 WordPress 數據庫管理。
讓我們開始工作吧!
什麼是管理員?
Adminer(以前的 phpMinAdmin)是一個基於 PHP 的免費開源數據庫管理工具。 在您的服務器上部署非常簡單。 要使用它,您只需上傳它的單個 PHP 文件,將瀏覽器指向它,然後登錄。

與 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 站點),您可以獲得這些更輕的變體。

或者,如果您使用的是終端,您可以使用curl命令將其直接下載到您的目錄中。
curl -o https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8.php
Adminer 4.7.8是最新的穩定版本。 它增加了對剛剛發布的 PHP 8.0 的支持。 如果有新版本可用,您可以在上述代碼的下載 URL 中更改管理員的版本號。
下載後,您可以將此.php文件放在服務器上的任何位置,例如其根文件夾。 但是,最好將所有第三方工具放在單獨的目錄中(例如vendor 、 assets等)。
你現在已經在你的服務器上安裝了Adminer。 它的即插即用設計意味著Adminer 幾乎可以在任何服務器上工作。
如何訪問管理員
要訪問它,您需要做的就是通過瀏覽器訪問它的鏈接。
例如,如果您已將其放在網站的根目錄中,則可以通過訪問https://your-website.com/adminer-4.7.8.php來訪問它。 如果您沒有設置域名,您也可以通過您的服務器的 IP 地址或 localhost 環境訪問它。

從這裡,您可以登錄到服務器上安裝的任何數據庫。 您也可以將數據庫字段留空。 管理員將在其下一個屏幕上向您顯示所有數據庫的列表。
勾選永久登錄選項將保存您的登錄詳細信息,以便您以後可以通過側面的鏈接輕鬆地重新訪問此會話。

管理員功能
Adminer 包括許多功能,使數據庫管理更加輕鬆。 是時候深入了解它們了。
連接到數據庫服務器
如前所述,您可以連接到管理員支持的任何數據庫服務器。 對於 MySQL 數據庫服務器,默認用戶名是root,默認密碼是空字符串。 您還可以在此處選擇要管理的現有數據庫。

創建新數據庫
您可以單擊創建數據庫鏈接來創建一個新的 MySQL 數據庫。 輸入數據庫名稱並選擇其排序規則類型。 對於 WordPress 數據庫,推薦的排序規則類型是utf8mb4_unicode_ci 。

創建數據庫後,您可以更改它的各個方面,例如數據庫的名稱、架構、用戶和表。

您現在已經創建了一個新的 MySQL 數據庫。 下一頁將向您展示更多使用表格、列等填充它的選項。

更改數據庫名稱和排序規則類型
單擊Alter database鏈接將允許您更改其名稱和排序規則類型。 如果您剛剛創建了一個數據庫並打錯了字,這將非常方便。

例如,我將數據庫的排序規則類型從utf8_unicode_ci 更改為utf8mb4_unicode_ci 。

注意:如果您的數據庫已被任何應用程序使用,請確保您在此處所做的更改也反映在應用程序的代碼中。
探索數據庫模式
數據庫模式是指定義所有數據庫元素如何相關的邏輯配置。 在 MySQL 中,模式是數據庫的同義詞。 因此,它們指的是同一件事。
但是,在 PostgreSQL 和 Oracle 等其他數據庫中,模式是指表的集合。 它只是數據庫的一部分。
WordPress 使用 MySQL 作為其數據庫。 因此,它的模式本質上是它的表及其列。 Adminer 甚至可以讓您在模式框中移動並隨心所欲地使用它們。

這是了解典型 WordPress 數據庫結構的來龍去脈的好方法。
檢查表數據和結構
單擊任何表將顯示有關它的更多詳細信息。 默認情況下,Adminer 會將您定向到表的顯示結構選項卡。 在這裡,您將找到有關表列的信息,例如它們的名稱、類型和索引。

如果您的數據庫表有任何外鍵或與之關聯的觸發器,它們也會在最底部的部分中列出。
上面的示例顯示了有關 wp_options 表的詳細信息。 這是 WordPress 存儲其所有關鍵設置的地方。 接下來,您可以轉到“選擇數據”選項卡以查看存儲在此表中的所有值。

如您所見,這裡的用戶界面比 phpMyAdmin 中的用戶界面更容易。
更改表和列設置
單擊頂部的更改錶鍊接以更改表和列設置。

對於表,您可以更改其名稱、引擎和排序規則類型。 在底部,您還可以找到設置表格默認值以啟動自動增量的選項,以及是否可以使用默認值和註釋設置其列。
至於列,您可以更改它們的名稱、類型、長度和排序規則類型。
您還可以通過單擊+和x按鈕來添加或刪除列。 Drop按鈕將完全刪除數據庫表,因此請謹慎使用。
完成更改後,不要忘記點擊保存按鈕。
插入新記錄並更新現有記錄
點擊New item鏈接轉到Insert: <table_name>選項卡。

在這裡,您可以向表中添加新行。 管理員列出列名及其類型,以便您快速輸入。 您還可以為輸入的值運行哈希函數以自動加密它們。 如果數據是敏感的,比如密碼,這將非常有用。 例如,WordPress 使用 MD5 算法將其密碼存儲在數據庫中。
編輯現有記錄同樣簡單。 例如,如果您想更改站點的描述,您可以在wp_options表中編輯blogdescription選項的值。

接下來,在option_value字段中輸入您的新博客描述,然後單擊保存按鈕以使您的更改生效。

在所有表中搜索數據
Adminer 允許您一次在數據庫的所有表中搜索任何數據。 它將向您顯示最有可能持有該值的表格。

當我搜索home一詞時,Adminer 將wp_options表作為最有可能的候選者。 單擊它向我顯示了管理員在數據庫中找到它的確切列和行。
單擊搜索結果下列出的表格將顯示有關它的更多詳細信息。 從這裡,您可以在此表中執行更精細的搜索。

例如,我可以編輯主頁選項名稱的值並更改我網站的主頁 URL。
截斷、刪除、移動和復製表格
Adminer 允許您直接從數據庫的儀表闆對表執行許多操作。

您可以通過選擇表並單擊下面的按鈕對錶執行許多 SQL 查詢。
例如,如果您想刪除站點上的所有評論,您可以選擇wp_comments表並點擊Truncate按鈕。 它會清空表中的所有行,但仍會保留現有的列結構。 點擊Drop按鈕將完全刪除該表。
從這裡,您還可以將表移動或複製到另一個數據庫。 使用覆蓋選項,這是一種將站點數據(例如帖子和評論)從一個站點傳輸到另一個站點的快速而骯髒的方式。
創建表、視圖、例程和事件
您可以使用Adminer 創建新的表、視圖、例程和事件。

創建表功能允許您定義表的完整架構,包括其列和嵌套值。
高級用戶可以使用 Adminer 的其他高級功能來定義 MySQL 視圖、過程、函數和事件。

導入或導出數據庫
Adminer 讓您輕鬆導入 MySQL 數據庫。 您需要做的就是上傳備份的.sql或 . sql.gz (推薦)文件並執行它。 此方法是恢復 MySQL 數據庫的簡單方法。

同樣,使用Adminer 備份現有數據庫也非常簡單。 單擊導出鏈接,然後選擇導出選項,例如輸出類型、格式和其他數據庫設置。 您還可以選擇要導出的表。

默認情況下,Adminer 支持使用Open 、 Save或GZIP輸出,使用SQL 、 CSV 、 CSV 導出數據庫; ,或TSV格式。 但是,您可以使用 Adminer 插件輕鬆擴展此功能。 我將在本文後面介紹它們。
執行 SQL 查詢
您不必使用 Adminer 處理笨拙的用戶界面來運行 SQL 查詢。 只需訪問SQL 命令屏幕並執行您想要的任何查詢。

注意語法高亮。 Adminer 甚至將突出顯示的 SQL 關鍵字鏈接到他們的官方文檔。
在執行查詢之前,您可以限制其行數,將其設置為在遇到錯誤時停止運行,並且只顯示錯誤輸出。
顯示和創建權限(用戶)
您可以使用管理員為您的數據庫創建具有自定義權限的新用戶。 在大多數情況下這是不必要的,但如果您想創建一個新用戶,您可以選擇快速完成。


廣泛的定制選項
您可以使用默認的Adminer類,用您的自定義代碼擴展或覆蓋 Adminer 的默認功能。 為此,您需要定義一個adminer_object函數,該函數返回 Adminer 類的自定義值。
想立即使用Adminer? DevKinsta 在其免費的本地開發工具套件中使用 Adminer。 使用 DevKinsta,您可以在幾分鐘內構建、測試和部署 WordPress 站點。 立即試用 DevKinsta!
例如,如果要自定義顯示在頁面標題和標題中的名稱,可以使用以下代碼進行操作:
<?php function adminer_object() { class AdminerExtender extends Adminer {function name() { // your custom name for title & heading return 'Adminer for Kinsta'; } } return new AdminerExtender; } include './adminer-4.7.8.php';
您現在可以在標題部分看到我們設置的自定義名稱(“Kinsta 管理員”)。

您可以使用 Adminer 的擴展來做更多很酷的事情。 您可以在他們的 API 參考頁面上了解有關 Adminer 擴展的更多信息。
管理員插件
Adminer 插件是即用型擴展,您可以使用它輕鬆擴展 Adminer 的默認功能。
例如,如果您想以 XML 格式導出數據庫,您可以安裝 Adminer dump-xml 插件。 同樣,如果要將數據庫導出為 ZIP 壓縮文件,可以插入 dump-zip 擴展名。

官網列出了一些最受歡迎的Adminer插件。 您還可以在此處找到有關如何設置和使用管理器插件的信息。
管理員主題
Adminer 最酷的功能之一是其主題功能。 官方網站列出了一些現成的設計,您可以立即使用。

要使用 Adminer 主題,您需要將主題的adminer.css文件放在adminer.php所在的同一目錄中。
就這麼容易。

上面的例子是 Adminer 網站上列出的 Hydra 主題。 這是 Adminer 的基於 Material Design 的深色主題。

其他一些好的 Adminer 主題示例是 Adminer Bootstrap-Like Design 和 pematon 的 Adminer Theme。 使用上述任何主題作為模板,您可以通過修改 CSS 文件來根據自己的喜好自定義它們。
管理員與 phpMyAdmin
現在我們已經探索了 Adminer 的許多功能,是時候看看 Adminer 與行業領導者 phpMyAdmin 的比較了。 以下是對它們如何在各個方面疊加的簡要回顧:
Adminer vs phpMyAdmin:功能比較
phpMyAdmin 僅支持 MySQL 數據庫,而 Adminer 支持許多其他數據庫。 Adminer 也可用於 MySQL-only 風格。
與 Adminer 相比,在 phpMyAdmin 中編輯和創建表是一件苦差事。 使用 Adminer 可以輕鬆地批量選擇數據並一次編輯它們。 你會發現在這方面缺少 phpMyAdmin。
您還可以查看Adminer Editor,它是Adminer 的一個變體,專注於編輯數據庫。 它一次只能使用一個數據庫,您需要將其連接到另一個數據庫才能使其工作。
phpMyAdmin 有一些擅長的領域。 例如,它支持比 Adminer 更多的語言和導出格式。 其龐大的用戶群確保有一個蓬勃發展的社區願意在您遇到任何問題時為您提供幫助。
管理員與 phpMyAdmin:安全性
根據 Adminer 的團隊,“安全性是 Adminer 開發的第一要務。 ” 例如,Adminer 無需在後端設置密碼即可阻止對數據庫的訪問。 它還限制連接嘗試以防止暴力破解或 SQL 注入攻擊。
Adminer 的即插即用設計還意味著您可以在不再需要時快速將其從服務器中刪除。 如果以後想再次使用,可以快速上傳回來。 你不能對 phpMyAdmin 做同樣的事情。
通過使用Adminer 的login-ssl 插件,您可以使用SSL 連接到您的MySQL 數據庫服務器。 管理員的儀表板還會提示您是否有新版本可用,因此您可以確保始終使用最新版本。
Adminer vs phpMyAdmin:性能
根據 Juraj Hajduch 的獨立測試,Adminer 平均比 phpMyAdmin 快28% 。 雖然他們早在 2009 年就發布了這些結果,當時 Adminer 仍處於起步階段,但它是唯一可用的獨立性能測試(迄今為止)。
由於Adminer 僅包含一個輕量級文件,因此您甚至可以將其部署在資源最有限的服務器上。
Adminer vs phpMyAdmin:用戶體驗
與 phpMyAdmin 不同,使用Adminer 從一開始就輕而易舉。 您不必涉足任何配置或設置。 它只是工作。
Adminer 還提供了更好、更友好的用戶界面。 使用 Adminer 自定義表、列及其值非常簡單。 導入數據庫或進行備份也是如此。
此外,Adminer 插件和主題可讓您自定義其功能和界面以滿足您的要求。 從用戶體驗的角度來看,這使得 Adminer 成為明顯的贏家。
Adminer vs phpMyAdmin:文件大小
Adminer 是一個緊湊的數據庫管理工具。 它至少比phpMyAdmin小 28 倍,儘管它支持的數據庫類型比 phpMyAdmin 多。
最新的全功能版本的 Adminer (v4.7.8) 僅有區區478 KB ,而 phpMyAdmin 的最新版本 (v5.0.4) 為13.7 MB (另外,它是一個可啟動的壓縮文件)。 當您考慮 Adminer 的 MySQL-only 版本 ( 354 KB ) 時,文件大小差異甚至更加明顯。
如何在 WordPress 中使用管理員
沒有特別的方法可以將 Adminer 與 WordPress 一起使用。 它適用於所有 MySQL 數據庫。 下載其 PHP 文件,將其放在服務器上的任何位置,然後從瀏覽器訪問它。 登錄到 Adminer 後,您可以使用它瀏覽您的 WordPress 站點的數據庫。
我建議您在完成使用後從服務器中刪除管理員文件。 在服務器上長時間無人看管可能會使您的數據庫暴露於漏洞中。
有一個名為 ari-adminer 的 WordPress 插件,可讓您直接從 WordPress 儀表板訪問 Adminer。 然而,由於一個嚴重的安全問題,它已經關閉並且在近兩年內不再可供下載。
在 WordPress 中使用 Adminer 的下一個最佳方法是使用 DevKinsta。
DevKinsta 和管理員:簡單的 WordPress 數據庫管理
DevKinsta 是 Kinsta 的免費本地開發工具套件,它在後台使用 Adminer 為其數據庫管理器提供支持。

單擊 DevKinsta 儀表板中的數據庫管理器按鈕以訪問管理員。

DevKinsta 的數據庫管理器支持本文前面討論的所有管理員功能。 您可以使用它在不同的數據庫之間切換、查看和編輯表、操作數據庫值、導入和導出數據庫、運行 SQL 查詢等等。
如果您使用 DevKinsta 在本地設置多個站點,則可以從管理員的儀表板在它們的數據庫之間切換。 只需從左上角的下拉菜單中選擇您要使用的數據庫。
您可以訪問 DevKinsta 文檔以獲取有關其數據庫管理器的更多信息。
文概括
Adminer 是 phpMyAdmin 的最佳替代品之一。 它不僅佔地面積更小,而且工作起來也更加快捷。 它處於緩慢但不斷的發展之中。 Adminer 的最新版本增加了對 PHP 8 環境的支持,使其面向未來。
如果您想嘗試使用 Adminer,您幾乎可以立即使用 DevKinsta 創建一個本地 WordPress 站點,並開始使用 Adminer 探索其數據庫。
現在輪到你了:你對Adminer的體驗如何? 您對使用 Adminer 或 DevKinsta 管理數據庫有任何疑問嗎? 如果是這樣,請在評論部分分享它們。