phpMyAdmin je jeden z nejznámějších nástrojů pro správu databáze MySQL. Nicméně není dokonalý, což je důvod, proč vznikl Adminer. V kterých oblastech je Adminer lepší alternativou, aby nahradil phpMyAdmin? Seznam je poměrně dlouhý a některé body pro vás nemusí být důležité. Nejdůležitější rozdíly jsou tyto:
Ve srovnávací tabulce je spousta odkazů na screenshoty, které rozdíly dále vysvětlují.
Toto srovnání jsem vytvořil v minulosti a současný stav může být jiný. Nemám dost energie na to udělat podobně podrobné srovnání se současnými verzemi.
Vlastnost | phpMyAdmin 3.3.9 | Adminer 3.1.0 | Komentář |
---|---|---|---|
Podporované systémy | MySQL | MySQL, SQLite, PostgreSQL, MS SQL, Oracle | Adminer je k dispozici i ve verzi pouze pro MySQL. |
Přihlašování | částečné | kompletní | Adminer nabízí trvalé přihlášení včetně seznamu uživatelů, phpMyAdmin jen částečnou podporu pomocí konfigurace. |
Vytvoření tabulky | hloupé | chytré | Před vytvořením tabulky v phpMyAdmin musíte zadat počet políček. Rozvržení formuláře se přetáčí na základě počtu políček. Adminer přidává políčka automaticky. |
Změna tabulky | omezená | neomezená | phpMyAdmin nedokáže přesouvat sloupce a přidat více sloupců na různá místa najednou (každá změna tabulky je u velkých tabulek velmi pomalá). Adminer dokáže sloupce přeuspořádat a přidat je na různá místa najednou. |
Výčtový typ | nešťastné | pohodlné | Adminer nabízí při vytváření výčtového typu textareu s jednou položkou na řádek. |
Indexy | po jednom | všechny najednou | Přidání indexu je u velkých tabulek pomalá operace. Adminer umožňuje manipulovat se všemi indexy najednou. |
Cizí klíče | omezené | kompletní | Vícesloupcové cizí klíče v phpMyAdminu vůbec nelze vytvořit. Před vytvořením cizího klíče musíte ručně vytvořit index. Adminer nabízí rozhraní pro vytváření cizích klíčů přímo při vytvoření/změně tabulky. |
Pohledy | nelze změnit | plná podpora | V phpMyAdminu nelze pohledy změnit, pouze smazat a ručně vytvořit znovu. |
Uživatelské rozhraní | matoucí | intuitivní | Jeden příklad za všechny: v navigaci je vedle názvu tabulky ikona. Jedna polovina uživatelů netuší, že ikona dělá něco jiného než název tabulky, druhá polovina si není jistá, co vlastně dělá. |
Triggery, procedury, události | nelze vytvořit, změna ručně | plná podpora | phpMyAdmin nenabízí rozhraní pro vytváření těchto objektů a jen velmi primitivní způsob jejich změny. |
Volání procedur | pouze SQL | přátelské | Volání uložených procedur a funkcí lze v phpMyAdminu pouze pomocí vytvoření SQL dotazu. Adminer nabízí přátelské rozhraní. |
Výběr dat | omezené | funkce, seskupování | Adminer nabízí při výběru dat seskupování výsledků a aplikaci funkcí na sloupce, také jde třídit podle více sloupců najednou. |
Stahování polí blob | tabulky navíc | automatické | V phpMyAdminu lze stáhnout obsah polí blob pouze vytvořením tabulek navíc, jejich určením v konfiguraci a ručním označením políček, které se mají dát stáhnout. Adminer dovoluje stáhnout jakýkoliv blob. |
Vztahy | tabulky navíc | automatické | Pro vytvoření vazeb podle cizích klíčů musíte v phpMyAdminu vytvořit tabulky navíc a určit je v konfiguraci. |
Hromadná editace | chybí | přítomna | V phpMyAdminu neexistuje žádný způsob, jak změnit hodnotu políčka u více řádek najednou. |
Vícenásobná editace | komplikované | snadné | Pokud například chcete opravit překlepy na deseti řádcích: V phpMyAdminu musíte tyto řádky označit, upravit je, najít překlepy znovu a uložit. V Admineru prostě Ctrl-klikněte na překlep a uložte. |
Klonování řádku | náchylné k chybám | bezpečné | phpMyAdmin nabízí klonování řádku po běžné editaci, takže si můžete záznam přepsat nedopatřením. Adminer má zvláštní tlačítko před provedením této operace. |
Schéma | tabulky navíc | vždy | V phpMyAdminu je schéma k dispozici jen s tabulkami navíc určenými v konfiguraci a jen přes PDF nebo <canvas>. Adminer používá HTML a JavaScript. |
Synchronizace | vyžaduje vzdálený přístup | funguje kdekoliv | Funkce Synchronizace phpMyAdminu nefunguje bez vzdáleného přístupu k serveru, který je obvykle znemožněn firewallem. Adminer používá jiný přístup - může vytvořit ALTER export, který po spuštění na vzdáleném serveru vygeneruje modifikační příkazy, které synchronizují cílovou databázi se zdrojem. |
Seznam databází | pomalý | rychlý | Seznam databází je pomalý proto, že zobrazuje počet tabulek. Adminer je stahuje asynchronně. |
Stavové proměnné | jednořádkové shrnutí | oficiální dokumentace | phpMyAdmin u některých stavových proměnných zobrazuje jednořádkové shrnutí, Adminer odkazuje do oficiální dokumentace. |
Proměnné | bez popisu | oficiální dokumentace | phpMyAdmin pro proměnné nezobrazuje žádný popis, Adminer odkazuje do oficiální dokumentace. |
Více panelů prohlížeče | blokující | neblokující | Když jeden panel prohlížeče provádí dlouhotrvající operaci, tak nelze s phpMyAdminem pracovat ani v jiném panelu. Adminer je neblokující. |
SQL dotazy | jeden výsledek | více výsledků | Adminer dokáže na jedné stránce zobrazit více výsledků SQL dotazu. |
Zvýrazňování syntaxe | bez odkazů | odkazy do dokumentace | Adminer nabízí odkazy do dokumentace pro všechna klíčová slova SQL. |
Klávesové zkratky | překáží | šikovné | V phpMyAdminu neposouvá Ctrl+doleva/doprava po slovech, jak je to zvykem, ale přesouvá mezi poli. V Admineru funguje uvnitř SQL textarey Tab a Ctrl+Enter odesílá formulář. |
Vzhledy | 6 | 8 | Vzhled pro phpMyAdmin vyžaduje vytvoření více než 100 ikon. |
Přizpůsobení | tabulky navíc | třída PHP | phpMyAdmin nabízí velmi jednoduché přizpůsobení pomocí speciálních tabulek. Adminer nabízí plnohodnotné přizpůsobení pomocí rozšiřující třídy PHP. |
Celková výkonnost | pomalý | rychlý | Adminer je průměrně rychlejší o 28% (podle nezávislého srovnání Juraje Hajdúcha). |
Bezpečnostní chyby opravené v roce 2010 | 10 | 1 | phpMyAdmin dosud neřeší některé problémy jako je např. ClickJacking ze stejné domény nebo únik Refereru. |
Upozornění na nové verze | uvnitř Admineru | U phpMyAdminu se můžete přihlásit k odběru novinek e-mailem. Dostupnost nové verze Admineru se zobrazuje přímo v Admineru. Oba nástroje také poskytují RSS. | |
Počet souborů | 879 | 1 | Zdrojové kódy Admineru jsou dobře strukturované do 70 souborů, jednosouborová verze je výsledkem kompilace a minimalizace. |
Velikost | 15 126 kB | 291 kB | Počet souborů a velikost je důležitá hlavně při kopírování na vzdálený server. |
Licence | GPL | GPL nebo Apache | Licence GPL je poměrně omezující - vyžaduje, aby odvozené produkty byly také pod GPL. |
Požadavky | PHP 5.2+, MySQL 5+ | PHP 4.3+, MySQL 4.1+ | Adminer perfektně pracuje i ve starších verzích, s phpMyAdminem v tom případě musíte použít starší verzi. |
Konfigurace | obvykle nezbytná | hned funguje | phpMyAdmin obvykle vyžaduje alespoň nějakou konfiguraci, Adminer prostě funguje. |
V rámci objektivity je nutné přiznat, že v některých oblastech phpMyAdmin převyšuje Adminer:
Vlastnost | phpMyAdmin 3.3.9 | Adminer 3.1.0 | Komentář |
---|---|---|---|
Jazyky | 7/57 aktuální | 17/17 aktuální | Skoro všechny překlady phpMyAdminu jsou neúplné. Běžné jazyky včetně RTL jsou podporovány v obou nástrojích, v Admineru existuje i pouze česká verze. Vytvořte nový překlad (pokud jste rodilý mluvčí). |
Formáty exportu | 16 (LaTeX, Texy!, ...) | 3 (SQL, CSV, TSV) | Exportování databáze do LaTeXu je úloha, kterou většina vývojářů řeší denně. |
Počet stažení 11/2010 | 280 000 | 7 000 | Tento měsíc to můžete změnit! |
Prezentace z O'Reilly MySQL Conference: stažení.
AdminNeo is a fork of Adminer 4. However, Adminer 5 made significant internal improvements which weren't ported back to AdminNeo.
Vlastnost | Adminer 4.8.1 | AdminNeo 5-dev | Adminer 5.1.1 | Komentář |
---|---|---|---|---|
Type declarations | nowhere | somewhere | everywhere | Adminer has PHP type declarations for all functions and also for class variables. AdminNeo has them only with couple of functions. |
Global variables | 23 | 23 | 0 | Adminer doesn't use global variables, AdminNeo needs 23 global variables. |
Ignored PHP errors | notices, strict and deprecated | notices and deprecated | deprecated | Adminer code is compatible with E_NOTICE , AdminNeo ignores these errors. |
PHPStan | unchecked | unchecked | level 6 | Adminer passes PHPStan level 6 with documented exceptions. AdminNeo doesn't do static analysis. |
Coding style | unspecified | unspecified | checked | Adminer checks code style with PHPCS. AdminNeo coding style is inconsistent even e.g. in doc-comments. |
Running from sources | works | unsupported | works | Adminer can run from source codes, AdminNeo needs a compilation step. |
Loading plugins | cumbersome | cumbersome | trivial | Adminer autoloads plugins from adminer-plugins/ . AdminNeo needs a cumbersome setup. |
Available designs | 30 | 3 | 30 | AdminNeo dropped support for all existing designs. |
Required PHP version | 5.0+ | 7.1+ | 5.3+ | Adminer source codes now use PHP 7.4 but the compiled file still runs on PHP 5.3. |
Tests | 1 suite | 1 suite | 13 suites | Adminer has end-to-end tests for 13 different drivers, AdminNeo tests only MySQLi. |
JavaScript | ancient | ancient | modern+checked | Adminer uses let /const and checks the code with ESLint. AdminNeo heavily uses var and doesn't check the code. |
Developer documentation | missing | missing | 9 pages | Adminer has extensive documentation for new developers. AdminNeo has no developer documentation. |
Dark mode | unsupported | automatic | automatic and manual | AdminNeo supports dark mode based on user preferences. Adminer too and it also has a plugin for manual switching. |
Mobile version | ugly | menu hidden | menu hidden | Both AdminNeo and Adminer hide menu on mobile. |
Configuration | zero-conf | available | zero-conf | Adminer works out of the box and can be customized with plugins. AdminNeo can configure some features with a config. |
File size | 477 kB | 630 kB | 485 kB | AdminNeo compiled file is valid UTF-8, Adminer compiled file is binary. |
Columns reordering | not supported | supported | not supported | AdminNeo supports changing the order of columns in select. It also has drag-and-drop in alter table. |
Compilation | single driver | any combination | single driver | Adminer compiles into a version with all drivers or a single driver version. AdminNeo supports compilation with any combination of drivers. |