1. 程式人生 > 其它 >輕量資料庫管理工具之adminer

輕量資料庫管理工具之adminer

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包括許多功能,使資料庫管理更加輕鬆。是時候深入瞭解它們了。

  1. 連線到資料庫伺服器
  2. 建立新資料庫
  3. 更改資料庫名稱和排序規則型別
  4. 探索資料庫架構
  5. 檢查表資料和結構
  6. 更改表和列設定
  7. 插入新記錄並更新現有記錄
  8. 在所有表中搜索資料
  9. 截斷、刪除、移動和複製表
  10. 建立表、檢視、例程和事件
  11. 匯入或匯出資料庫
  12. 執行SQL查詢
  13. 顯示和建立許可權(使用者)
  14. 廣泛的定製選項

連線到資料庫伺服器

如前所述,您可以連線到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類的自定義值。

例如,如果要自定義頁面標題和標題中顯示的名稱,可以使用以下程式碼:

<?php function adminer_object() { class AdminerExtender extends Adminer {function name() { // your custom name for title & heading return 'Adminer for Wbolt'; } } return new AdminerExtender; } include './adminer-4.7.8.php';

您現在可以在標題部分看到我們設定的自定義名稱(“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 DesignAdminer 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環境的支援,使其面向未來。