Přejít k navigační liště

Zdroják » Různé » phpMyAdmin VS Adminer

phpMyAdmin VS Adminer

Články Různé

Aplikace phpMyAdmin je nepsaný standard pro správu databáze MySQL z prostředí webového prohlížeče a mnoho uživatelů pro správu této databáze ani žádný jiný nástroj nepoužívá. phpMyAdmin ale není jediný nástroj svého druhu a jiné aplikace se mu snaží konkurovat. Jednou z těchto aplikací je Adminer, který je stejně jako phpMyAdmin napsaný v PHP, ale některými vlastnostmi se snaží odlišit.

Poznámka: Autor článku je zároveň autorem aplikace Adminer, článek je proto pochopitelně zaujatý, i když se snaží být férový.

Instalace

phpMyAdmin 3.2.4 lze stáhnout ve dvou verzích:

  • Verze se všemi jazyky zabírá po rozbalení 11,377 kB v 667 souborech a její zkopírování na běžný webhosting trvá několik minut.
  • Jednojazyčná anglická verze zabírá 4,937 kB, jiné jednojazyčné verze se ke stažení nenabízí.

Adminer 2.2.1 zabírá 174 kB v jednom souboru a na hosting se zkopíruje prakticky okamžitě. Jednojazyčná anglická verze má 119 kB, ke stažení je i jednojazyčná česká a slovenská verze.

phpMyAdmin používá licenci GPL 2, Adminer o něco vstřícnější licenci Apache 2, která není nakažlivá.

Co se požadavků na server týče, phpMyAdmin od verze 3 vyžaduje PHP 5.2+ a MySQL 5, pro práci se staršími verzemi je nutné použít starší, stále udržovanou řadu 2. Adminer se spokojí s PHP od verze 4.3 a s MySQL od verze 4.1. phpMyAdmin od uživatele vyžaduje zapnuté cookies, Adminer se obejde i bez nich. Adminer pro práci s databází dokáže využít i extenzi PDO, phpMyAdmin ne.

phpMyAdmin je k dispozici v 57 jazycích, Adminer ve 12, základní světové jazyky a čeština jsou k dispozici v obou.

phpMyAdmin dovoluje nastavit celkem 143 konfiguračních direktiv, mezi jinými třeba i tu určující, kam povede odkaz u ikony ve výpisu tabulek. Výchozí hodnota této konfigurační direktivy se navíc v průběhu času změnila, takže uživatelé, kteří se ikonu naučili používat (což není zcela intuitivní), bývají zmateni. Adminer žádnou možnost konfigurace nenabízí, všechny instalace se tudíž chovají stejně.

phpMyAdmin obsahuje instalační skript, který dovoluje nastavit některé konfigurační direktivy (jiné je potřeba přímo zadat do PHP kódu). Tento skript je obvykle nezbytné spustit, protože ve výchozí konfiguraci nedovoluje phpMyAdmin zadat název serveru nebo se přihlásit pod uživatelem bez hesla. Adminer vzhledem k absenci konfigurace žádnou instalaci nevyžaduje.

Adminer

Vzhled

phpMyAdmin nabízí uživateli výběr mezi dvěma vzhledy, dalších 12 vzhledů lze navíc stáhnout, samostatně lze kromě toho nastavit barvu pozadí. Jeden vzhled má kolem 120 souborů. Adminer vedle vestavěného vzhledu dovoluje stáhnout 5 dalších, každý vzhled je tvořen jediným souborem.

phpMyAdmin používá pro zobrazení stránek rámy a samostatná okna. To uživateli znemožňuje ukládat si jednotlivé stránky do oblíbených položek a otvírat je do samostatných panelů. Adminer na druhou stranu rámy nevyužívá, díky čemuž si uživatel každou stránku může uložit do oblíbených položek nebo otevřít do samostatného panelu.

phpMyAdmin používá interní zvýrazňovač syntaxe SQL dotazů. Ten ve výchozím nastavení dotaz zároveň i přeformátuje, což může být někdy užitečné a jindy na škodu. Adminer používá externí JavaScriptový zvýrazňovač syntaxe, který zároveň vytváří odkazy do dokumentace použitých příkazů. Adminer navíc detekuje verzi MySQL a odkazuje do dokumentace používané verze.

Možnosti rozšíření

phpMyAdmin možnosti svého rozšíření staví na bohaté konfiguraci a na vytvoření pomocných tabulek v databázi. Pomocí nich lze např. ke sloupcům zadat informace o typu dat, takže phpMyAdmin pak místo binárních dat zobrazuje obrázek. Adminer dovoluje vytvořit objekt, pomocí kterého lze kompletně změnit jednotlivé části aplikace (např. si vytvořit vlastní způsob autorizace nebo libovolným způsobem upravit výpis nebo editaci dat). Tento způsob je o něco náročnější (vyžaduje programování), ale nabízí podstatně širší možnosti přizpůsobení.

Import a export

phpMyAdmin i Adminer dovolují importovat data ve formátu SQL a CSV, volitelně komprimovaná. Adminer navíc umožňuje načíst SQL soubor z disku serveru, což dovoluje spustit i velké soubory, jejichž přenos je v konfiguraci PHP zakázaný (soubor lze nahrát např. pomocí FTP). phpMyAdmin tuto možnost nabízí také, ale je potřeba ji nakonfigurovat. Pro CSV import dovoluje phpMyAdmin použít příkazy INSERT, INSERT IGNORE nebo REPLACE. Adminer používá příkaz INSERT s klauzulí ON DUPLICATE KEY UPDATE, která jako jediná provede import správně. Při CSV importu lze v phpMyAdminu ignorovat několik prvních řádek, Adminer si na druhou stranu dokáže z prvního řádku načíst seznam sloupců, které se pro zpracování souboru použijí.

phpMyAdmin dovoluje exportovat data ve 12 formátech jako např. LaTeX nebo Word. Adminer nabízí jen formáty SQL a CSV, u SQL ale nabízí i možnost tzv. ALTER exportu, který slouží primárně k synchronizaci vývojového a produkčního serveru (vypíše příkazy, které je nutné spustit, aby stav cílové databáze odpovídal stavu zdrojové databáze, obvykle  ALTER TABLE).

phpMyAdmin a Adminer se liší ve způsobu hromadné editace záznamů. phpMyAdmin při hromadné editaci zobrazí pro každý záznam vlastní formulář, které uživatel edituje zvlášť. Adminer nabízí skutečně hromadnou editaci, kdy se všechny záznamy editují najednou (u každého sloupce lze nechat původní hodnotu, nastavit novou hodnotu nebo provést relativní operaci jako je třeba přičtení čísla). Pro stejnou úpravu třeba všech záznamů v tabulce phpMyAdmin využít nelze.

Pokud vás zajímá, jak využít správně všech výhod, které MySQL nabízí, a pokud se chcete naučit správně používat MySQL jako relační databázi, přijďte na školení Akademie Root.cz s tématem Návrh a používání MySQL databáze, kde se dozvíte vše potřebné od návrhu až po samotné využití MySQL ve vašich projektech. Školení je vhodné jak pro důkladné seznámení se základy databází, tak pro využití MySQL u náročnějších projektů. Školit vás bude Jakub Vrána, autor tohoto článku.

Cizí klíče

phpMyAdmin má velmi slabou podporu pro cizí klíče, které se dají vytvářet v tabulkách typu InnoDB. Na speciální stránce lze vytvořit pouze jednosloupcové cizí klíče, s kterými se dále nikde nepracuje. Vícesloupcové cizí klíče nelze vytvořit vůbec. Adminer naproti tomu dovoluje jednosloupcové cizí klíče vytvořit přímo při vytváření nebo úpravě struktury tabulky, podle názvu sloupce navíc vytvoření cizího klíče automaticky nabízí. Pro vytvoření vícesloupcového cizího klíče a jejich úpravy slouží samostatná stránka.

V Admineru se z cizích klíčů při výpisu dat automaticky vytváří odkazy. V phpMyAdminu se tyto odkazy vytváří pouze po vytvoření a konfiguraci speciálních tabulek. Ve verzi Adminer Editor se navíc vytváří i zpětné odkazy (např. na všechny knihy daného autora).

V phpMyAdminu lze schéma databáze zobrazit jen po konfiguraci speciálních tabulek ve formátu PDF. Pozici tabulek ve schématu lze upravit pouze ručně zadáním souřadnic. V moderních prohlížečích lze použít také návrhář využívající značku <canvas>. Adminer schéma databáze včetně propojení tabulek zobrazuje přímo v HTML stránce s možností tabulky přetahovat pomocí myši.

Použitelnost

Při vytvoření tabulky v phpMyAdminu je nutné předem stanovit počet sloupců. Pokud si teprve při jejím zadávání uvědomíme, že potřebujeme ještě nějaké sloupce navíc, je nutné odeslat formulář. phpMyAdmin navíc tabulky do tří polí zobrazuje po sloupcích a od čtyř polí po řádcích, takže se při přidání čtvrtého sloupce tabulka celá přeskládá. Adminer naproti tomu do tabulky přidává další pole automaticky podle potřeby. Obdobný rozdíl ve způsobu práce je vidět třeba i u vícesloupcových indexů.

Při změně struktury tabulky je v phpMyAdminu nutné nejprve vybrat, kam chceme jednotlivé sloupce přidat. Pokud je chceme přidat na různá místa, je nutné to udělat ve více krocích. Adminer naproti tomu dovoluje sloupce přidávat přímo v editaci struktury tabulky. Kromě toho umožňuje změnit i pořadí sloupců, což phpMyAdmin vůbec neumožňuje.

Pro editaci výčtového typu enum a set nabízí Adminer komfortní editor, kde se každá položka píše na jeden řádek textového políčka. Uživatelé phpMyAdminu se musí řídit následujícím návodem:

Pokud je sloupec typu „enum“ nebo „set“, zadávejte hodnoty v následujícím formátu: ‚a‘,‚b‘,‚c‘… Pokud potřebujete zadat zpětné lomítko („“) nebo jednoduché uvozovky („‚“) mezi těmito hodnotami, napište před ně zpětné lomítko (příklad: ‚\xyz‘ nebo ‚a‘b‘).

V phpMyAdminu i v Admineru lze existující záznamy duplikovat, nástroje ale používají opačný postup operací. V phpMyAdminu se vyvolá běžným způsobem editace záznamu a po dokončení úprav uživatel vybere, že se má záznam uložit jako nový. To může vést k tomu, že uživatel delší dobu upravuje záznam určený k duplikování, ale pak ho po paměti uloží a tím přepíše původní záznam. Adminer proto volí opačný postup úkonů – nejprve se vybere operace klonování a pak se nový záznam uloží běžným způsobem.

phpMyAdmin i Adminer nabízí výpis proměnných na serveru, Adminer k nim ale přidává i odkazy do dokumentace každé z nich (najít je v dokumentaci MySQL dá totiž trochu práce). phpMyAdmin na druhou stranu obsahuje popis všech stavových informací.

phpMyAdmin zobrazuje velikost tabulek spolu s jednotkami, Adminer ji zobrazuje v bajtech. Díky tomu jsou na první pohled snadno rozpoznatelné velké tabulky od malých, v phpMyAdminu se dá podle velikosti zase třídit.

Při zadávání binárních dat dovolují oba nástroje nahrát soubor z disku, phpMyAdmin ale tato binární data nedovoluje stáhnout (možné to je pouze při vytvoření pomocných tabulek a explicitního určení všech sloupců, jejichž obsah má jít stáhnout). Adminer stažení binárních dat nabízí vždy, zobrazitelná data (např. text ve sloupci typu blob) navíc také zobrazuje.

Funkční výbava

phpMyAdmin i Adminer drží krok s vývojem MySQL a dovolují pracovat i s moderními objekty jako jsou triggery, uložené procedury nebo události. Zatímco ale Adminer nabízí komfortní uživatelské rozhraní, kde uživatel vyplňuje jednotlivé parametry do připravených kolonek a stejným způsobem může všechny objekty i vytvářet, phpMyAdmin se omezuje na výpis existujících objektů a vypsání SQL příkazu pro jejich vytvoření. Uživatelské rozhraní k těmto objektům tedy vůbec neexistuje a uživatel musí přesně znát syntaxi SQL dotazů, pomocí kterých je může vytvářet. Stejně tak phpMyAdmin neumožňuje uložené procedury zavolat jinak než pomocí ručního sestavení SQL příkazu.

phpMyAdmin dovoluje vytvořit pohled z libovolného SQL příkazu (pohled se ale potom automaticky nezobrazí v seznamu tabulek), neumožňuje pohledy ale měnit. V přehledu tabulek databáze také chybí odkaz pro výpis záznamů pohledů. Adminer pro vytvoření a správu pohledů nabízí vlastní uživatelského rozhraní.

Adminer dovoluje při výpisu tabulky na jednotlivé sloupce aplikovat funkce (dokonce i agregační), phpMyAdmin nic takového nenabízí. Adminer dovoluje tabulku třídit podle více sloupců (např. nejdřív podle data a potom podle času), phpMyAdmin obdobnou funkci nabízí jen komplexním databázovým dotazem.

SQL příkazu nabízí oba nástroje různou funkčnost. phpMyAdmin dovoluje dotaz profilovat, Adminer dovoluje vypsat více výsledků v rámci jednoho zavolání příkazu. Adminer navíc zobrazuje odkazy pro editaci záznamů i u dotazů spojujících více tabulek. Oba nástroje dovolují příkaz vysvětlit, phpMyAdmin k tomu otevře novou stránku, Adminer tuto informací zobrazí přímo pod dotazem. Oba nástroje ukládají historii provedených příkazů, Adminer do této historie ale ukládá i příkazy provedené přes uživatelské rozhraní.

Adminer

Bezpečnost

Adminer za dobu své existence opravil dvě bezpečnostní chyby, phpMyAdmin za stejnou dobu dvacet (za celou dobu celkem 47). phpMyAdmin navíc nenabízí spolehlivou ochranu proti útoku ClickJacking (kvůli využívání rámů by to šlo jen obtížně).

Jiné chování je vidět i u externích odkazů, které phpMyAdmin odkazuje přímo (po patřičné konfiguraci) a tím jim přes hlavičku Referer předává URL, na kterém správce databáze běží. Adminer externí odkazy směruje přes speciální stránku, která hlavičku Referer skryje.

Výkonnost

Adminer je při práci díky jednodušší architektuře o něco rychlejší než phpMyAdmin. Podle testu Juraje Hajdúcha je to průměrně o 28 %.

Kromě toho Adminer velmi obezřetně pracuje s dlouhotrvajícími operacemi. Jednak před provedením delší operace explicitně posílá dosavadní výstup do prohlížeče, čímž uživateli dovolí pracovat s dosud poslanými daty. Zásadním rozdílem je ale to, že Adminer před provedením dlouhotrvající operace odemkne session, čímž uživateli dovolí s aplikací pracovat v jiném panelu prohlížeče. phpMyAdmin je během dlouhé databázové operace jednoduše zablokován.

Důraz na rychlost práce je u Admineru vidět také v přehledu všech databází. phpMyAdmin v něm zobrazuje počet tabulek v jednotlivých databázích, získání této informace ale může trvat až desítky vteřin. Adminer proto tuto informaci raději zobrazuje až u jednotlivých databází.

Závěr

Přestože je phpMyAdmin zavedený standard pro správu databáze MySQL z webového prohlížeče, řadu funkcí kupodivu nenabízí nebo je nutné je zvlášť konfigurovat. Kromě toho má překvapivé mezery v použitelnosti, často prováděné operace nejsou intuitivní nebo k nim vede zdlouhavá cesta. Padesátkrát menší Adminer nabízí v mnoha oblastech použitelnější uživatelské rozhraní a na řadě míst také více funkcí.

Redakční poznámka: Redakce si je vědoma toho, že text, ačkoli fakticky přesný, lze vnímat jako jednostranně zaměřený. Na druhou stranu je přesvědčena, že článek nabízí zajímavé představení původního českého nástroje a poukazuje na obecněji platné principy tvorby webových aplikací, a proto jej takto vydala.

Komentáře

Subscribe
Upozornit na
guest
125 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
someone

tento clanok je sice selfpromotion, no musim potvrdit, ze adminer je v mnohej funkcionalite podstatne kvalitnejsi ako „standard“ phpmyadmin. treba len dufat, ze autor bude svoje dielo stale zdokonalovat a neupusti od vyvoja, aby dobehol svoje nedostatky oproti phpmyadmin :)

blizzboz

ja používam desktopovú aplikáciu MySQL Query Browser a som s ním spokojný, ak potrebujem niečo špeciálne tak MySQL-Front. neviem si predstaviť že by som databázu spravoval cez nejakú pomalú webovú aplikáciu typu phpMyAdmin.

Thimble

Adminer je skvely nastroj, pouzivam ho denne a jsem za nej rad, ze jsem se zbavil tezkopadneho a misty podivneho phpMyAdmin.
Adminer ma z meho pohledu jednu chybu a s tou asi uz nepujde nic delat – nazev „Adminer“ – uz jsem to psal drive na blog Jakuba Vrany. Prijde mi to to proste skoda, ze tak skvely nastroj ma takovy obecny nemastny nazev. Ja bych klidne bral puvodni phpMinAdmin (ikdyz chapu, ze Min uz vlastne vubec neni)

Lukáš

Líbí se mi, jak autor Adminera zaměňuje nevýhody své aplikace za výhody (nemožnost opravdu hromadně upravovat více záznamů najednou a každý jinak nebo přesměrování všech URL přes nějaký cizí server, takže uživatel musí linky KOPÍROVAT do adresního řádku, aby to nešlo přes cizí aplikace…). To už je fakt trochu moc. Adminer používám, určitě je lepší, než druhý jmenovaný nástroj, ale ta zaslepenost a naprostá absence sebekritiky autora je do nebe volající. Davide, zpátky nohama na zem!

Název (v překladu „Lovel reklam“) asi nemá smysl hodnotit, s tím už nikdo nic neudělá.

Roman Sklenář

Davide? :)

Lukáš

Pardon, „Jakube“.

Jan Tichý

To je jedno, na Davida to platí taky ;P

David Grudl

Když jsem v komentářích viděl spojení slov „naprostá absence sebekritiky autora je do nebe volající,“ to „Davide“ mi tam taky sedlo :-)

Ladis

No vlastně to platí hlavně pro Davida :-)

Jens.cz

Souhlasím s Lukášem že „autor Adminera zaměňuje nevýhody své aplikace za výhody“.

Například zrovna věta „Adminer vzhledem k absenci konfigurace žádnou instalaci nevyžaduje“ – opravdu je tak výhodné nemít žádnou konfiguraci? To může být výhodné leda pro někoho kdo neví co dělá …

Reklama na vlastní produkt me nevadí, ale tohle už trochu zavání :)

Borek Bernard

Kde je v článku napsáno, že je absence konfigurace výhodou? Pouze z toho vyplývají některé věci, které Jakub popisuje.

V tomto ohledu je trochu nevyvážený možná jen odstavec začínající „phpMyAdmin dovoluje nastavit celkem 143 konfiguračních direktiv“, kde konfigurovatelnost vyznívá trochu jako negativum phpMyAdminu (pouze vyznívá, formulace poukazuje na to, že se jedná o příklad).

Podle mě je článek napsaný hodně dobře a vyváženě.

Jan Kodera

občas je to takové divoké. viz
phpMyAdmin používá licenci GPL 2, Adminer o něco vstřícnější licenci Apache 2, která není nakažlivá. – nechápu proč to tam je, ten dodatek o nakažlivosti. Jako uživateli phpMyAdminu mi to může bejt naprosto buřt. Chápu tenhle dovětek v části, kde se mluví o programování rozšíření Admineru, tam by měl informační hodnotu.
phpMyAdmin i Adminer dovolují importovat data ve formátu SQL a CSV, volitelně komprimovaná. Adminer navíc umožňuje načíst SQL soubor z disku serveru, což dovoluje spustit i velké soubory, jejichž přenos je v konfiguraci PHP zakázaný (soubor lze nahrát např. pomocí FTP). phpMyAdmin tuto možnost nabízí také, ale je potřeba ji nakonfigurovat.  – Tak jak? Má Adminer tu možnost navíc nebo nemá? nebo ji má i phpMyAdmin a jediný rozdíl je v konfiguraci?
phpMyAdmin má velmi slabou podporu pro cizí klíče, které se dají vytvářet v tabulkách typu InnoDB. Na speciální stránce lze vytvořit pouze jednosloupcové cizí klíče, s kterými se dále nikde nepracuje. Vícesloupcové cizí klíče nelze vytvořit vůbec. Adminer naproti tomu dovoluje jednosloupcové cizí klíče vytvořit přímo při vytváření nebo úpravě struktury tabulky, podle názvu sloupce navíc vytvoření cizího klíče automaticky nabízí. Pro vytvoření vícesloupcového cizího klíče a jejich úpravy slouží samostatná stránka. – Tohle vyznívá jako, že phpMyAdmin cizí klíče žere nebo co. Přitom phpMyAdmin nemá pouze podporu v uživatelském rozhraní, přes SQL příkazy to lze zadat. Zajímavé je, že o pár odstavců dál to už Jakub Vrána odlišuje, tj používá uživatelské rozhraní a zadávaní přes SQL.

Jan Kodera

jasný. S tím souhlasím. To rozhraní by to mělo umět a nemělo by výrazně bránit v použitelnosti :)

nijel

A můžu se zeptat, jak by to spouštění nahraných souborů ve společné instalaci mělo vypadat? Všichni můžou spustit všechno? Provádět nějaké magické mapování MySQL uživatelů na vlastníky souborů?

David Grudl

Jene, jakýkoliv text se dá rozcupovat chytáním za slovo. Takže otázka zní: chcete cupovat nebo chcete rozumět? Je to jen věcí vůle. Když článek přečtete s dobrou vůlí namísto se zaujetím, budete vítěz – vždyť oba produkty jsou zdarma a článek vám dává možnost vybrat si.

Smokie

Ja som v clanku dokonca nasiel niekolko klamstiev.

Napriklad

„phpMyAdmin používá pro zobrazení stránek rámy a samostatná okna. To uživateli znemožňuje ukládat si jednotlivé stránky do oblíbených položek a otvírat je do samostatných panelů“

Toto vobec nie je pravda. Vzdy ked pracujem v phpMyAdminovi s viacerymi tabulkami, tak mam kazdu otvorenu v samostatnom paneli.

Alebo tiez nevidim ziadnu vyhodu v rozsireniach. Autor pise, ze pri troske programovania sa da v Adminerovi upravit kazda cast aplikacie.
A v phpMyAdminovi snad nie? Je to tiez PHP a zdrojaky su viditelne a upravitelne.

Tieaz ma pobavilo ako autor vyzdvihuje, ze vdaka absencii konfigurakov sa kazda instalacia Admineru chova rovnako zatial co nevyhodou phpMyAdminu je to, ze si ho kazdy vie upravit tak ako potrebuje.
Ak je autor linuxak, tak by si mal dat facku, pretoze prave poprel jednu z vyhod linuxu. Ak je autor windowsak, tak vtedy chapem, ze to vidi ako vyhodu.

David Grudl

Takže si ještě jednou přečti větu, kterou jsi ocitoval a poté si zkus 1) uložit stránku do oblíbených a následně 2) otevřít v jiném panelu. Kdo je tu klamár? :)

Dále mi prosím vysvětli, kde ve větě „Adminer žádnou možnost konfigurace nenabízí, všechny instalace se tudíž chovají stejně.“ vidíš vyzvihování? To je pouhé konstatování v rámci srovnání dvou produktů.

Smokie

Tam ziadne slovo NASLEDNE nie je. ;) Autor clanku klame.

A precitaj si cely ten odstavec, ktory sa tyka tej instalacie a konfiguracie.

paranoiq

Davide, Viléme, Jarmilo!

Rbas

Dlouho jsem necetl clanek kde by si nekdo takhle namastil ego.
Kazdopadne Adminer nevypada spatne.

Pitrsonek

Od kdy si clovek masti ego kdyz popise vlastnosti a funkcionalitu programu, ktery vyvinul?

Poukazal na vyhody aplikace, ale i na věci, které nemá nebo má jinak implementované.

Ufff v této zemi je opravdu lepší asi nic nedělat a už vůbec zadarmo a pro lidi…

David Grudl

V některých návycích jsem až protivně konzervativní a vyměnit phpMyAdmin za Adminera (nebo jen updatovat na novější verzi), k tomu aby mě dotáhli stádem volů. Takže jsem Adminer začal používat nejprve na školeních. Což je poměrně odvážné (čti: drzé), školit s produktem, který neznáte. Jenže Adminer nikdy nezklamal, ba právě naopak! Nevtíravě servíruje jednu vychtávku za druhou.

Špatně se to popisuje, to chce vyzkoušet.

Vytváříte InnoDB tabulky a už při pojmenování sloupce jako ‚userId‘ nabídne, že mu nastaví index a udělá z něj cizí klíč k ‚user.id‘. Samozřejmě jen pokud taková tabulka s primárním klíčem existuje. To je nesmírně pohodlné, v phpMyAdmin by to znamenalo X kliknutí navíc, spíš X+Y, protože když se doklikám do formuláře pro nastavování cizích klíčů, oznámí mi, že nejprve musím jí udělat index a pak se můžu vrátit operaci zopakovat.

Nebo v článku zmíněné pole SET a ENUM. Automaticky se nabídnul editorek na jednotlivé hodnoty, abych je nemusel smolit do pidiokénka ala phpMyAdmin. Opět, narazil jsem na tuto funkci náhodou při školení, ale hned z toho bylo téma k diskusi při obědě, lidem to připadalo úžasné.

Podobných menších nebo větších vychytávek je hafo, tyto dvě mě napadly jako první. Takže rozhodně doporučuju Adminer vyzkoušet, je to paráda!

(dotaz pro kokůtky komentující: chápu-li dobře, tak souhlasíte, že Adminer je nabušená aplikace, jen vás trápí, prohlásí-li to sám autor? To je u nás zakázáno, jinak si jakože mastí? Má sklopit uši? Když vám se něco povede, taky se za to jdete stydět do kouta?)

Lukáš

Proč tak útočně? Nebo se tady nesmí kritizovat očividné nepravdy? Trošku mi to připomíná ten vtip o Microsoftu, který, když praskne žárovka, vyhlásí tmu za standard, neboli chybu za vlastnost.

David Grudl

Jak vidíš, kritizovat se tu smí, nebo ti to někdo zakazuje? Ale větám „dlouho jsem necetl clanek kde by si nekdo takhle namastil ego“ prostě kritika neříkám. Pokud považuješ moje slova za útočná, jak vnímáš svá slova o „naprosté absenci sebekritiky autora“?

Lukáš

S tímhle přístupem se pak Davide nediv, že kromě těch, kteří tě obdivují, je tolik těch, kteří tě nemůžou vystát.

David Grudl

Docela nechápu, proč tě odpověď natolik podráždila, ale budiž.

alancox

Upřímně, jestli něco u softů nesnáším, pak je to umělá inteligence. Většinou to funguje tak, že potom napravuji škody.

Jakmile někdo začne psát, že mi sw nabízí jeho úvahy, tak já sw mažu.

Adminer jsem sledoval na webu pana Vrány. Moc mě neoslovuje něco, co optimalizuje na malou velikost zdrojového kódu, nebo na nutnost být v jednom souboru.

Stejně tak jsem si přečetl, jak pan Vrána zavádí heuristiky a odhady do chování sw a podle toho se Adminer chová, a ztratil jsem zájem podruhé.

Tento článek vypichuje podle mě pro sw zcela nepodstatné věci. Začíná už tím, jak je program veliký. Koho to zajímá? Mě ne.

Navíc je to jedna lež za druhou. Nikdy jsem nepotřeboval spustit instalační skript phpMyAdmina, zvládl jsem to ručně přímo. Asi má pan autor článku obě ruce levé.

Atd. atd.

Tento článek je velmi, ale velmi reklamní a o objektivitě se nedá ani trochu mluvit. Je až příliš křečovité, jak se Adminer snaží zreklamnit a autor se nestydí ani lhát.

Jirda

Umělá inteligence??? Neříká se tomu spíše uživatelsky přátelské, přívětivé rozhraní?

nijel

Proč nastávají zřídka? Jediné co je potřeba, aby MySQL běželo na localhostu a uživatel měl nastavená hesla. Což považuju za naprosto standardní konfiguraci.

Kruxik

S tím Michale moc nesouhlasím. Považuji se za poměrně pokročilého uživatele a s konfigurací PHPMyAdmina jse měl vždycky problémy. Distribučního jsem nerozjel snad nidky a ze zdrojáků jen s velkým úsilím. Tím mám většinou starou verzi, protože na aktualizace mi chybí odvaha.

Netvrdím, že problém není ve mně. Jsou to jen zkušenosti, které mám.

Lup

Jděte raději vykládat karty (http://ponkrac.net/…slav-ponkrac) :-)

Rbas

Davide nevim jestli jsi ten clanek cetl nebo jen hajis Jakuba, kazdopadne nejsem sam kdo si vsiml stylu jak je psan. Ostatne je to napsano pod clankem jako redakcni poznamka.

Jinak pokud se nepletu tak pod formularem na pridani komentare je tzv. Nazorovy kodex a dle nej by komentare nemeli obsahovat vulgaritu… ;)

alancox

„dotaz pro kokůtky komentující: chápu-li dobře, tak souhlasíte, že Adminer je nabušená aplikace, jen vás trápí, prohlásí-li to sám autor? To je u nás zakázáno, jinak si jakože mastí? Má sklopit uši? Když vám se něco povede, taky se za to jdete stydět do kouta?“

Tahle poznámka mluví o kokotnosti samotného pisatele.

Zvláštní, že David Grudl neustále chytá všechny za slovo, když někdo v podtextu píše lži, peskuje za jakékoli „nezdvořilosti“ a sám se chová jako poslední dlaždič a to ještě urážím dlaždiče.

Jen tak dál pane Grudl!

Tento článek je opravdu ostuda celého webu. Je značně nevyvážený, s plno lži (divím se, že redakce je schopna napsat, že je fakticky přesný), a „objektivitě“ tohoto článku by se daly psát legendy. Evidentně se navíc pan Vrána schopně naučil pokládat fakta vedle sebe tak, aby to budilo dojem, že vše je výhoda Admineru, a to i tehdy, když je to jeho nevýhoda. Často to jen napíše do podtextu, ale lžím se v článku nevyhnul také.

Autor by se nemusel stydět za Adminera, ale za styl, kdy prostě potřebuje napsat takovýto bulvární článek a jeho komplexy mu nedovolují psát bez toho, aniž by zároveň musel druhý produkt potápět. Přitom Adminer není plaikace, která by přetáhla phpMyAdmin ve svých kvalitách. Jasně, politicky korektní mluvou si dává pan Vrána pozor, aby to potápění bylo jemné a jen náznakové a v mnoha případech jen těžko vyhmátnutelné.

Kdyby se pan Vrána skutečně neměl za co stydět, nepotřebuje se schovávat za potápění jiného projektu a prostě představí svůj projekt. Já jsem se k takovýmto „porovnáním“ ála bulvární pomluva nikdy nesnížil. A přitom jsem se klidně vychválil – viz třeba můj Complex Web Server (http://ponkrac.net/…x-web-server).

David Grudl

> Jen tak dál pane Grudl!

Děkuji za povzbuzení!

Miroslav

Seš fakt dobrej, nandal jsi mu to!

PS: A teď zapni mozek.

Miroslav

Cituji:

Kdyby se pan Vrána skutečně neměl za co stydět, nepotřebuje se schovávat za potápění jiného projektu a prostě představí svůj projekt. Já jsem se k takovýmto „porovnáním“ ála bulvární pomluva nikdy nesnížil. A přitom jsem se klidně vychválil – viz třeba můj Complex Web Server..

Zajímavé, že o Vašem Complex Web Serveru (což je nepochybně kvalitní počin) nikdo nikdy neslyšel (snad jen Vy?), zatímco Adminer zná (neříkám používá!) snad každý. ČÍM TO ASI BUDE?

Tomáš

cim to bude ?
napr reklamou na facebooku ???

no jak to rekl jeden pan v Hydeparku,
„Reklama? V zásadě všichni vědí, že je to lež …“
http://www.ceskatelevize.cz/ct24/ekonomika/165726-reklama-v-zasade-vsichni-vedi-ze-je-to-lez-rika-specialista-na-komunikaci/

v clanku se nepise nic o HAFU dalsich funkci ktere phpMyAdmin ma jen autor o nich prozatim nevi…

bedna

No já nevím, ale zatím jsem nikde na hostingu neviděl nějak upravené phpMyAdmin, nevím ani, proč bych to měl dělat…

Další problém je v tom, že mi přijde zbytečné si „instalovat/ko­pírovat“ vlastního MySQL Admina na hosting, když mi jej nabízí sami od sebe…

Na localhostu, ok, už jej stahuji :-)

František Kučera

„Na localhostu, ok, už jej stahuji :-)“

Někdy si říkám, že asi o hodně přicházím, když pro práci s databázemi používám téměř výhradně tlustého klienta místo nějaké webové aplikace.

Na localhostu (nebo vlastním serveru) se přece člověk může připojit na TCP port 3306 nebo 5432 (…) něčím pohodlnějším, ne?

bedna

Myslel jsem na zkousku ;-)

Langi

Gratuluji J.Vránovi k vynikajícímu produktu. Adminer zaplnil kráter na trhu, dnes a denně jej používám, zbavil mě příšerného phpMyAdmina, díky!

Gratuluji také k rozhodnutí (odvaze) publikovat tento článek, přesto že reakce plné mindráků a tuposti byly jistě očekávány.

Lukáš

Není trochu nefér označovat slušné a konstruktivní komentáře (mimochodem pochvalné) upozorňující na nepravdy v článku jako „reakce plné mindráků a tuposti“? Nebo se tady smí jen chválit? To pak pardon, ale bylo by třeba přejmenovat blok „Názory“ na „Pochvaly“.

Langi

Zanechme babského žvanění. Označuju reakce plné mindráků a tuposti jako reakce plné mindráků a tuposti.

Jens.cz

[offtopic]

Vypadá to asi tak, že pokud komentující nepatří do klubu skalních přívrženců pana Vrány, Grundla, apod. a nevkládá pouze pochvalné komentáře, tak to asi bude prostě asi jen „zamindrákovaný, tupý kokůtek“ …

Za chvíli ještě dorazí šefredaktor zdrojáku a ten nám ukáže co jsme vlastně za tupce :)

[/offtopic]

František Kučera

Docela zajímavá věc je, že ten „Grundl“ se ve skutečnosti jmenuje „Grudl“. Ale taky jsem si dřív myslel, že je to Grundl, to jméno prostě plete.

Jens.cz

ajo :) … sorry Davide

Martin Malý

[offtopic]
Už dorazil, a dodá jen: Jakou diskusi si uděláte, takovou máte. Můžete diskutovat o tom, proč Jakub Vrána dělá něco tak a onak, můžete se ho přímo zeptat, proč považuje to či ono za špatné, můžete s ním polemizovat, jistě vám na výhrady či dotazy rád odpoví, nebo si můžete navzájem nadávat do tupých kokůtků a porovnávat, čí přívrženci si víc mastí ego – jak je ctěná libost, jste dospělí, tak jistě dokážete svá slova zvážit a jistě poznáte, jaké téma je pro vás zajímavější. Platí pro fanoušky stejně jako pro odpůrce kohokoli. Děkuji za pochopení.
[/offtopic]

alancox

Já jsem se po několika měsících podíval na zdroják a hned z tohoto článku jsem zjistil, že se stal nejbulvárnějším webem o IT vůbec.

Máte pravdu, jaké si to uděláme, takové to máme. Já jsem už nezavítám, nestojí to za to.

Borek Bernard

Myslím, že na tento komentář všichni netrpělivě čekali, díky za váš závazek!

alancox

Rádo se stalo. Milerád Vás nechám samotné nad takovýmito „kvalitními“ články. Pokud z toho budete mít radost, tím lépe udělal-li jsem někoho šťastného.

Langi

Myslím, že budu mluvit za všechny, když řeknu „nemusí pršet, jen když kape“ ;-)

alancox

Samozřejmě, jsem rád, že jste šťastný. Je třeba z tohoto webu vyházet a odradit všechny, kteří věci rozumí, protože jinak by Vám to sebeplácání po ramenou pořád někdo rušil.

Myslím, že nebudete mluvit za všechny, ale tento bulvární styl psaní typu dělám se mluvčím za všechny ke zdrojáku a k tomuto článku obzváště tak nějak stylově patří. Vrána k vráně sedá, rovný rovného si hledá.

František Kučera

Ani kvůli mému seriálu? :o

David Grudl

Héj, tiše, aby si to třeba nerozmyslel ;)

Martin Malý

Nechci nějak nad míru vstupovat do této štěpné diskuse, ale mám dojem, že původní komentář nehovořil o konstruktivních komentářích, natož o „všech kromě pochvalných“, ale že hovořil o specifických reakcích. Rozhodně to neznamená, že „se smí jen chválit“, to je poněkud přehnané černobílé zjednodušení, nemyslíte?

Ondra

Ale ten příspěvek přece vůbec neřekl, kterých komentářů se to označení „reakce plné mindráků a tuposti“ týká. Jestli to chápeš jako útok na své vlastní příspěvky, tak máš zřejmě o jejich kvalitě sám pochybnosti…

Já Tom

Pěkně napsané Ondro! A to myslím vážně a bez ironie – což je v internetových diskuzích vždy dobré vyzdvihnout, páč pak hrozí lavina kritiky, vycházející z nepochopení. Teda většinou z nechtění pochopit :(

jtousek

Myslel jsem, že aplikaci Adminer není možné použít s jinou databází než MySQL, ale v článku je zmínka, že lze použít i rozšíření PDO, což by napovídalo, že pomocí PDO by se dalo pracovat i s jinou databází. Je to možné?

Ped

Tohle mozna melo byt v clanku taky, alespon pro mne je to asi nejzajimavejsi informace. Aktualni stav neni takovy problem overit rucne strucne, staci investovat nejaky cas, ale vyhled do budoucnosti a co autor planuje, to clovek stazenim aktualni verze nezjisti.

fos4

Poprvé jsem přišel s adminerem do kontaktu na školení autora a hned mne zaujal. V praxi ho používám na tyto věci: Nastavení cizích klíčů, vytváření triggeru a procedur. Na ostatní používám navicat – ten bohužel při triggeru blbne a občas spadne nebo ho smaže a zavře okno apod.
Co bych vylepšil by bylo zobrazení číslo řádku při zobrazeni SQL dotazu. Pokud máte dlouhý trigger kde je chyba, tak počítat který řádek je zrovna padesátý je na ..prd. Myslím že zrovna tohle řeší JS zvýrazňovač JUSH ?

Marek

Adminer je naozaj vynikajúci nástroj a používam ho denne. Jediné, čo mi veľmi chýba je našeptávač (code completion) pre názvy tabuliek a stĺpcov a sql príkazy. Keď chcem napísať zložitejšie sql najrýchlejšie je písať ho ručne a vtedy sa prepnem do netbeans. Jakub, plánujete niečo také v budúcnosti do adminara dorobiť?

gawan

Prečo?

Ondra

Asi proto, že je to vopruz :)

Jan Kodera

škoda že Adminer není pro javu :)Ale i to by se asi nějak dalo obejít. Každopádně co přidat podporu pro replikaci? Status slave apod. Asi to není důležité, protože většina uživatelů je na hostingu, ale moci zapnout Adminer a rychlým pohledem zjistit co se „vysypalo“ by nebylo špatné. (A není to nijak náročné z hlediska SQL)

honzamac

Adminer používám už půl roku a jsem s ním naprosto spokojený.
Používám jej jak na webu, tak na localhostu. Malý, rychlý a chytrý.

Pár posledních nadšení při práci s ním
automatické doplňování cizích klíču při vytváření tabulky.
separátní vyhodnocování dotazů oddělených středníkem. Při importu starých dat do nové db, která podporuje cizí klíče se hodí, když vám kvůli jedné constraint reference nespadne celé vkládání, ale vidíte, že řádek 150 se neudělal.
Co bych vylepšil
stejná velikost písma u sql dotazu bez zvyraznovace a s ním. Když vložíte 150 dotazů, chvíli to trvá a jak se načte stránka, tak se vám začnou všechny sql dotazy zvětšovat(o cca 2p­x?)
use ‚my_database‘ by mohla být stejná, jako při vybrání v roletkovém menu databáze. Když máte databází stovky, blbě se v menu hledá ta vaše.
František Kučera

„Při importu starých dat do nové db, která podporuje cizí klíče se hodí, když vám kvůli jedné constraint reference nespadne celé vkládání, ale vidíte, že řádek 150 se neudělal.“

Od toho jsou přece transakce. Vždycky mě dokáže vytočit, když se nějaká akce v půlce pokazí a pak člověk musí podle chybových hlášek lovit, co už se udělalo a co je potřeba opravit a spustit znovu. V takovém případě je lepší, když se neprovede nic, opravíš chybu a spustíš znova.

honzamac

V mém případě mi to tak vyhovovalo.
Když data vkládám přes hromadný insert, tak nejde objevit, kde je chyba. Tak jsem to rozházel na INSERT/UPDATE a už jsem našel konkrétní řádek, co zlobil.

honzamac

Ke zvětšování dochází v Opeře 10.10

Vyhledávání se dá použít, ale v select boxu se vyhledává pouze prvního písmene.

Pro vysvětlení: na školním serveru je asi 1500 databází a všechny začínají s prefixem ,,x“ a to se hledá opravdu špatně.

honzamac

Aha, této fíčury jsem si nevšiml. Mám ještě starou verzi. 2.1.0
Takže problém s vyhledáním je tudíž vyřešen už dlouho. Budu tedy všude aktualizovat na novější :-)

Opera asi neumí hledat podle více písmenek. To je škoda.

Dokud jsem nevyzkoušel Adminer, tak mi phpMyAdmin pil krev, teď už nepije, nepoužívám ho.

iljusin

Trochu jsem upravil adminer.css od Martina Hořínka (celkově menší písmo a malinko jiné barvy). Není to nějak čisté řešení jak by si adminer zasloužil, ale mělo by to snad opravit i to zvětšování písma v Opeře. Zkus to:
http://www.sha1.cz/adminer.css

celoush

Protože občas dostávám do ruky jen přístupové údaje k db a chci svůj čas trávit smysluplněji než hledáním, kde který hosting má phpmyadmin (pokud ho vůbec má) a umím si představit zábavnější věci, než ho tam nahrávat sám, tak za Adminer všem, kteří na něm spolupracují, děkuji.

paranoiq

Adminer je výborný editor, který již v dnešní podobě phpMyAdmina předběhl o deset koňských délek. používám jej téměř na všechnu práci s databází. na většinu úkolů má mnohem lepší a použitelnější nástroje

vyšší rychlost nedosahuje jen podle testu, ale je to skutečně poznat

jediné co mu schází je opravdová „opravdová“ hromadná editace záznamů ála phpMyAdmin. někdy je skutečně nutné upravit větší množství záznamů a přitom každý jinak. tohle by velmi pomohlo. je to poslední důvod, proč jsem phpMyAdmina dosud nesmazal a občas k němu musím s nechutí sáhnout

podle mne Jakub v článku občas z nevýhod Adminera výhody opravdu dělá. třebas u konfigurace a u rozšiřitelnosti – u Adminer Editoru je nutností „konfigurace“ dopsáním vlastní obsluhy přihlašování přes „rozšíření“. to za výhodu rozšiřitelnosti opravdu nepovažuji. rozšiřitelnost je výhodou jen do té doby, dokud se nestane nutností. přitom by se to v nejčastějším případě dalo jednodušeji řešit konfigurací


na druhé straně také smekám před autory phpMyAdmina, že se jim ten letitý slepenec ještě chce udržovat :]

alancox

„na druhé straně také smekám před autory phpMyAdmina, že se jim ten letitý slepenec ještě chce udržovat :]“

Ve skutečnosti je phpMyAdmin daleko udržovatelnější. Nejhůře udržovatelné jsou právě softy, které někdo navrhne jako malé, nebo jednozdrojosou­borové a začne tomu podřizovat vše.

Udržovatelnost něčeho není závislá na tom, jak je balíák veliký, ale na tom, jak dobře má udělanou architekturu, jak dobře má oddělené jednotlivé části a minimum vazeb.

Za svojí 20tiletou praxi v programování už jsme měl v rukách i 30KB veliký zdroják, který jsem luštil 14 dní a bylo neuvěřitelně těžké do toho zasáhnout. A stejně tak projekty, které měly stovky tisíc zdrojových řádek a byly nesmírně snadno udržovatlemné, přímo intuitivně.

A do phpMyAdmina nemám sebemenší problém zasáhnout, jde to skoro intuitivně.

paranoiq

vám se třeba vnitřní struktura phpMyAdmina líbí, mě však nikoliv. každému co jeho jest. od jeho opravování (nikoliv upravování) mě dvakrát odradil právě jeho návrh

Adminer je navržen bez nějakých ohledů na počet souborů a velikost. do výsledné minimalizované podoby je zkompilován

paranoiq

a vyzkoušejte Adminer. za to nic nedáte a třeba se vám zalíbí ;-]

Odin

Vim, ze je neslusne otevirat stare rany, ale spojeni slov ‚phpmyadmin‘ a ‚udrzovatelnost kodu‘ me nuti zde kousek jeho kodu predvest:
function PMA_importRun­Query($sql = “, $full = “, $controluser = false)
{
global $import_run_buffer, $go_sql, $complete_query, $display_query, $sql_query, $my_die, $error,$reload,las­t_query_with_re­sults,$skip_qu­eries, $executed_queries, $max_sql_len, $read_multiply,$cfg, $sql_query_di­sabled, $db, $run_query, $is_superuser;
$read_multiply = 1;

nijel

Překvapivě ten phpMyAdin není až takový slepenec a obzvášť od té doby co jsme zahodili podporu PHP 4 se kód značně pročistil.

nesro

Jednou se mi stalo, že jsem nemohl na jednom webu najít url k phpMyAdmin… No o a od tý doby už všude používám Adminer. ;-)

dayvee

phpMyAdmin vs Adminer ? Nebe vs dudy ?

code

Adminer vs phpMyAdmin? Nebe vs dudy?

Tomáš Fejfar

V mém případě je naopak právě konfigurace to, co mě u admineru vytáčí naprosto nejvíc.

I když napsat si třídu, která extenduje Adminer a přetížit např. metody pro přihlašování je na chvilku (a má to úžasné možnosti), ale proč proboha nedat k admineru jeden ini soubor, kam se vyplní user / pwd / server / db_name + základní konfigurace. adminer ho zkusí najít, když najde, tak ho natahne a použije. Ten jeden soubor je IMO takový falešný svatý grál. Mít adminera třeba ve 3 souborech by myslím nikomu nezpůsobilo žádnou ujmu a použití by to zlepšilo (i na webftp bývá minimálně 5 uploadboxů). Akorát by se s tim pak nedalo machrovat „čum, mam myadmin v jednom souboru, hustý co?“ :D Ale ti co by chtěli machrovat by mohli používat verzi bez konfiguráku. Celá tahle patálie podle mého Adminer degraduje na takovou KPZ (skauti vědí), protože nastavení něčeho pro delší používání je pěknej vopruz – a jak známo, tak na takovéhle věci nikdy neni čas.

Druhá moje výtka by směřovala k „vypsat“ v levém menu v seznamu tabulek, kdyby místo ní bylo 8×8px tlařítko s tužkou, bylo by víc místa na název tabulky. Většina tabulek mi zalézá za okraj toho divu a musím scrollovat:(

Jinak pravda, že Adminer je perfektní soft o tom žádná.

Tomáš Fejfar

Ano, to asi ano. FAQ by se hodily. Resp FAS – Frequently Appearing Scenarios jako např.:
* Nastavení pro localhost
* Nastavit Adminer pro hosting ala MyAdmin

Ale je jasné, že podpora je z veškeré práce na Adminer největší opruz, protože BFU není nikdy spokojen… :P

francesco3

Děkuji Jakubovi za Adminera, který je pro mě takřka každodenní pomůckou. Často při rychlém nahlédnutí do jedné tabulky, na minutu – ale o tom adminer je. Zkrátka adminer nahrajete na server a přihlásíte se dřív, než je obvykle možné zjistit adresu phpMyAdminu – a o tom adminer je. Byť toho opravdu umí hodně a už ani není „chudým příbuzným“. Dneska jsem se dozvěděl o „skrytých“ funkcích, které bych opravdu v tak miniaturním nástroji nečekal (DB schéma např.) takže další plus.
Doufám tedy v další zdárný vývoj a děkuji.

marek.sudak

Původní příspěvek se mi trochu protáhl, publikuji jej tedy na svém blogu: http://blog.mareksudak.cz/…prece-sqlyog.

Patrik Votoček

Adminer je super na serverech a hostinzích hojně využívám. Nicméně na localhostu mám problém. Jelikož PHP5.3 bylo i ve znamení optimalizace pro Windows tak na localhostu používám IIS7.5 místo apache (přecejenom IIS je nativně v systému – WinVista má IIS7 a Win7 má IIS7.5). A teď můj problém prostě se v admineru nepřihlásím. viz. http://ukaz.at/4b (za žetezec Session proměnné musí být povolené. jsem si nechal vypsat session_name() ) bohužel nemám čas zkoumat v čem je problém ale jak je na obrázku vidět tak cookie se session ID se vytvoří a předávání session ID v URL taky jede. Ještě přidám dump session:

sess_gi0ga640ru5oj37pko4gmru202
usernames|a:0:{}passwords|a:0:{}databases|a:1:{s:9:"localhost";N;}

sess_8rq8o072ei1lnjujgo38p42p47
usernames|a:1:{s:9:"localhost";s:4:"root";}passwords|a:1:{s:9:"localhost";s:6:"xxx";} 

a session direktivy v php.ini

session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5 

Nějáké nápady?

Patrik Votoček

sorry žetezec → řetězec

Anonymous

Tiež mám tento problém. Mám identické softvérové vybavenie.

Peacher

Taky jsem resil tento problem, trosku jsem to prosel a zjistil, ze staci zakomentovat tento kod:

/*call_user_fun­c_array(‚sessi­on_set_cookie_pa­rams‘,$wd);*/

nijel

Adminer navíc detekuje verzi MySQL a odkazuje do dokumentace používané verze.

To phpMyAdmin dělá taky.

Ve výchozí konfiguraci nedovoluje phpMyAdmin zadat název serveru nebo se přihlásit pod uživatelem bez hesla.

Což je naprosto v pořádku, protože lidi kašlou na bezpečnost a opačný přístup vede ke spoustě volně dostupných rozhraní k MySQL. Dřív to v phpMyAdminu taky bylo naopak a dodnes jsou následky toho běžně vygooglovatelné.

Rámy a záložky

Přesně kvůli tomu je na každé stránce odkaz k otevření nového okna, které ho zduplikuje včetně rámů a stejně tak je možné ho uložit do záložek.

Možnosti rozšíření

Poměrně dost věcí je v phpMyAdminu také modulární a třeba přidat vlastní způsob autorizace je velmi jednoduché.

Adminer používá příkaz INSERT s klauzulí ON DUPLICATE KEY UPDATE, která jako jediná provede import správně.

To by mě zajímalo jak je definovaný „správný“ import :-).

Adminer si na druhou stranu dokáže z prvního řádku načíst seznam sloupců, které se pro zpracování souboru použijí.

Ve verzi 3.3 phpMyAdmin umí (kromě načtení seznamu sloupců) i automaticky vytvořit tabulku z CSV (nebo Excelu, ODS, XML a co já vím čeho ještě).

ALTER exportu, který slouží primárně k synchronizaci vývojového a produkčního serveru

Oproti tomu phpMyAdmin 3.3 má v sobě přímo synchronizaci serverů, kde je možné zobrazit rozdíly a zvolit co se má synchronizovat. Dále je možné logovat veškeré změny provedené v tabulce, tento log exportovat a použít ho na aktualizaci produkčního serveru.

ClickJacking

phpMyAdmin nedovolí běh ve frame, což je IMHO princip ClickJackingu, takže ochranu má.

Zamykání session

Bylo v phpMyAdminovi odstraněno asi před měsícem :-).

Prostě oba dva nástroje mají své výhody a podobné porovnání, jen vycházející lépe pro phpMyAdmina, bych taky zvládnul napsat ;-).

Ondra

„Ve výchozí konfiguraci nedovoluje phpMyAdmin zadat název serveru nebo se přihlásit pod uživatelem bez hesla.“

„Což je naprosto v pořádku“

Tak s tím bych nesouhlasil. To je snad problém serveru a toho, kdo ten server instaloval a konfiguroval přístupy (pokud se tedy s nějakou konfigurací vůbec obtěžoval).
Není mi jasné, proč by klientská aplikace měla řešit blbé zabezpečení na straně serveru. To by taky mohla kontrolovat, aby se nemohl přihlásit uživatel s pitomým heslem jako „1234“ atd.

nijel

MySQL je ve výchozí konfiguraci přístupné jen z localhostu, takže to, že je přístupné bez hesla až tak nemusí vadit. Nicméně webová aplikace toto zpřístupní vzdáleně, což už je problém mnohem větší.

To samé platí s výběrem MySQL serveru – web server může běžet v DMZ nebo z něj může být jinak přístupný MySQL server, který z internetu dostupný není. Možností vybrat libovolný MySQL server pak otevíráme útočníkovi dveře, které by jinak byly zavřené.

A ano, lidi kašlou na nastavování, což není důvod, aby se výchozí konfigurace nesnažila aspoň o nějaké zabezpečení.

nijel

Odkazy na dokumentaci odpovídající verzi MySQL jsem měl na mysli obecně, takto v SQL příkazech se nezobrazují.

S tím importem asi záleží na tom, jak to obvykle člověk používá, já snad vždycky potřeboval INSERT IGNORE, takže tu „správnou“ věc jsem docílil i v phpMyAdminovi. Nicméně dává smysl tuto možnost přidat, tak to píšu do trackeru.

Ten IFRAME SECURITY=„RES­TRICTED“ by AFAIK měl být v MSIE 8 nějak vyřešený, pro starší se s tím bohužel nic dělat nedá.

nijel

Díky za nakopnutí, taky už jsem to mezitím našel a commitnul :-).

Nicméně to stejně neřeší ten samý problém s IE 7.

oernii

Strasidelne ma to stve aj na phpMyAdmine ;-)

jasir

Taky doporučuji! Díky, Jakube.

Kruxik

Zajímalo by mě, jak je na tom dnešní Adminer s rychlostí u velkých databází (databáze několik GB, stovky tabulek, tabulky o desítkách až stovkách milionů řádků). Zkoušel jsem pracovat s Adminerem asi před půl rokem a bylo to na takových databázích dost pomalé při zobrazování tabulek.

Oproti tomu PHPMyAdmin to zřejmě nějak kešuje a problémy s tím neměl.

Peacher

Presne tento problem jsem resil, po komunikaci s panem Vranou se zmenil zpusob nacitani seznamu tabulek v databazi a ted to uz svisti :)

Prdlořeznictví Krkovička, n.p.

* ad hromadná editace) vskutku jsou dva přístupy, jak na to – každý z nich je pro jeden případ lepší, pro jiný horší. Psát o jednom jako z nich jako o tom „skutečném” (jediném, nefalšovaném, …) přímo naznačuje, že ten druhý je méněcenný. A to podle mě není pravda.
* „komfortní editor” u enum/set záznamů je obyčejná textarea – já si tedy komfortní editor představuji jinak a zde mi to opravdu vyznívá jako propaganda – stačilo napsat textarea s hodnotou pro každý řádek (nebo podobně)
* jen tak na okraj – s vypnutým JavaScriptem se z „komfortního editoru” stane to samé, co v phpMyAdminu, navíc bez jakékoli nápovědy
* obdobně, na localhostu bez připojení k internetu mám smůlu se zvýrazněním syntaxe, zatímco phpMyAdmin ji zobrazuje i tak (toto v článku není zdůrazněno – snad jen chytře zvoleným slovíčkem ‚externí‘)
* ad změna struktury tabulky) Adminer sice má onu propagovanou vlastnost (a sám ji s vděkem používám), ale např. když tabulky se 100 sloupci chci upravit jeden a ostatní mě nezájímají, pak phpMyAdmin mi nabídne jen ten sloupec, co chci, a následně odešle dotaz s definicí jednoho sloupce (tak, jak by to imho mělo být) a v Adminu se onen sloupec načte někde mezi těmi (pro mě nyní zbytečnými) 99 sloupci, a po odeslání se přenesou na server zbytečně dlouhá (100× víc, než by bylo třeba) POST data, která spustí zbytečně dlouhý SQL příkaz (který zatíží mysql – v tomto případě – 1× klauzulí, která k něčemu je, a 99 % balastu, která k ničemu nejsou a mohla by být vynechána). Neříkám, že se jedná o nějakou velkou zátěž (srovnatelnou se stahováním porna), ale při obzvlášť pomalém připojení je to znát (zkusil jsem) a nota bene, tak jako tak je těch 99 % dat zbytečných a když se to vezme kolem a kolem, může se jednat o větší objem dat než jedno kliknutí v phpMyAdminu na přidání řádku pro další sloupec. Toto ovšem také Jakub jaksi pozapomněl zmínit, protože by to jeho produkt postavilo do špatného (nebo řekněme: ne tak oslňujícího) světla.

Na pár místech v článku je tedy opravdu trochu nadržováno Adminerovi (některé vlastnosti, které někdy mohou být výhodou, někdy na škodu prezentovány tak, aby z toho Adminer vyšel lépe; to, co Adminer nemá, shazováno jako nevýhoda). Těch je ale menšina a proto si nemyslím – jak to zde naznačovali někteří v diskuzi – že jde pouze o self-promotion (btw. uprostřed s reklamou na školení od toho samého člověka) a pokus přimět víc uživatelů používat Admina článkem vychvalující ho do nebes. Podle mého skromného názoru „se dobré zboží chválí samo”, a tedy ty, které jeden program osloví a zalíbí se jim, na jiný nepřejdou na základě „reklamy” (i když chápu, že o něm nejdřív musejí vědět, že existuje). Na druhou stranu si ale všimněme, že Adminer už nějakou dobu nabízejí poskytovatelé webhostingu (flyweb, webhosting-c4, gtny.org, …).

Řekl bych, že ten zásadní rozdíl je v tom, že phpMyAdmina nenavrhoval Jakub Vrána ;-) Proto je tak korpulentní a těžkopádný. Sice byl nejdřív také psán jedním člověkem, ale pak přešel do „kolejí” open-source projektu se vším všudy, na kterém pracují desítky lidí z celého světa, a proto musí být odpovídajícím způsobem organizován. Teď má přes 10 mega a skoro 700 souborů v 37 adresářích. Adminer je přitom navržený s použitím obecných, jednoduchých principů, spousta věcí je zobecněno tak, aby šlo znovupoužít na více místech, a tím může být při stejné nebo větší funkčnosti a bezpečnosti a při vyšší rychlosti 50× menší. I kdyby se vývojáři phpMyAdminu postavili na hlavu, s jejich způsobem vývoje Adminera co do velikosti a rychlosti prostě a jednoduše nepřekonají.

No, a abych zase nebyl k Admineru tak nekritický, tak zmíním pár připomínek:
* vedle oné jediné „skutečné hromadné editaci záznamů“ bych u Admineru tu (špatnou, nepravou) co má phpMyAdmin (také) strašně rád uvítal.
* ne vždy je výhodné po vykonání SQL příkazu z okna zobrazit pouze prvních 100 (nebo kolik) znaků – když je chyba dále v dotaze, tak nezjistím kde
* naopak bych ocenil zobrazovat pouze dotazy, kde došlo k chybě nebo varování (psal jsem v diskuzi na php.vrana.cz)
* pak už jenom drobnosti (např. pře-seřazení tabulky podle určitého sloupce)

Adminer se mi líbí objektivně pro rychlost a funkce, které v PhpMyAdminu nenajdu, a subjektivně pro vyšší svižnost a použitelnost, a taky pro to, jak je napsaný.

Článek imho nelže, ale též neříká celou pravdu. Jsem přesvědčen, že by šel napsat objektivněji, čímž by se pak autor vyhnul konfrontaci s některými poněkud útočnějšími (a v pár případech oprávněnými) argumenty v příspěvcích v této diskuzi.

Cosmo

Nechapem, preco to vsetci beriete tak vazne. Podla mna je dobre, ze existuje viacero alternativ k webovej sprave MySQL.
Kazde riesenie ma svoje vyhody aj nevyhody. Na svoj server som si dal aj PhpMyAdmin aj Adminer.
Na adminerovi sa mi paci prave to, ze je to minimalisticke a da sa s tym v pohode pracovat.
PhpMyAdmin je zasa stary dobry standard, ktory uz kazdy pozna.
Adminera ocenia hlavne ti, ktori potrebuju rychlo na server nakopirovat a negenerovat „magic stringy“ ako je to v pripade PhpMyAdmin.
Momentalne pracujem na niecom minimalistickom pre Oracle. Dufam, ze sa nestretnem len s kritikou a nevolou uzivatelov.
Kym sa priblizim kvalitou k adminerovi, tak to asi bude trva dost dlho :-) Ale pre Oracle prakticky nic podobne nie je (teda o nicom neviem, kludne ma opravte).
Druha vec je, ze autor by mal zdoraznit vo svojom clanku, ze sa jedna o subjektivny nazor a nemusi odrazat nazory ostatnych :-)
Ale to predsa nie je problem a nijako to neznizuje hodnotu a kvalitu Admineru, ktory je urcite velkym prinosom pre komunitu.

David Grudl

> Druha vec je, ze autor by mal zdoraznit vo svojom clanku, ze sa jedna o subjektivny nazor a nemusi odrazat nazory ostatnych

Když článek vyjde v rubrice „Subjektivě“ a hned na začátku je poznámka jak kráva, tak je si neumím představit, jak víc by to měl zdůrazňovat ;)

Cosmo

Mate pravdu, ale ked si niekto preklikne z hlavnej stranky, nemusi si to vsimnut pr nadpise :-)
To sa stalo teraz mne, ale nabuduce si dam pozor :-)

Cosmo

Velmi rad by som prispel svojou troskou komunite ale musim priznat, ze nie som perfektny php programator a ani Oracle DB specialista. Zatial sa pokusam svoj maly Oracle framework postavit sam a ked sa ukaze, ze to funguje, ozvem sa Vam a pokusim sa pomoct s doprogramovanim Oracle podpory pre adminera.
Musim vsak povedat, ze rozhranie, ktore by som chcel pre oracle je presne to, co ma adminer – phpmyadmin sa mi zda prehnane zlozity pre tento ucel. Zatial sa viem konektnut na DB, robit selecty a podobne. Dufam, ze sa to dostane do stadia vhodneho pre pouzitie. Potom by som sa Vam ozval a mozno bude na svete asi prvy mikrospravca Oracle DB :-)
Ale vidim to skor tak, ze z Adminera by sa pouzila cast, ktora spravuje ovladanie, vypisy a pod. To je uz hotove na jednotku :-)
A s trochou stastia by sa k tomu pripojili DB funkcie pre Oracle. Asi takto by som videl moznosti.
Problematika Oracle DB je trosku zlozitejsia ako MySQL, aj ked jazyk je podobny :-(

Cosmo

Presne o to ide – najst vsetky potrebne ekvivalenty Oracle k MySQL napr. SHOW TABLES ma niekolko ekvivalentov napr. SELECT table_name FROM tabs a podobne…
Momentalne pracujem na tychto ekvivalentoch. Postupne vytvaram funkcie nad OCI8 kniznicou a zapuzdrujem ich do funckii (alebo objektov). Oracle ma aj inu strukturu uzivatelov a ich prav.
MySQL ma uz mnozstvo notoricky znamych funkcii a konstrukcii. Oracle nie je priamo komunitnou platformou, tak aj s podporou na strane dobrovolnych vyvojarov je to horsie.
A este tam nastava komplikacia ohladom integracie OCI podpory do PHP, OCI je v podstate nevyhnutne pre konektivitu s Oracle.
Ale naprogramovat sa da prakticky cokolvek, staci chciet :-)
Urcite sa do toho dam, ale vysledky ukaze az cas.
Ale myslienka, ze by Adminer zvladal aj Oracle je pre mna velmi lakava a velmi sa mi paci :-)

David Grudl

Jakube zkus se zeptat na foru http://forum.dibiphp.com/cs. V dibi driver pro Oracle je, tudiž s tim i nekdo musi pracovat.

Cosmo

Skvela informacia :-)
Ono ale nie je az taky problem v driveri pre Oracle. OCI je vybavene vsetkymi potrebnymi funkciami na komunikaciu. Aj ked na niektorych debianovskych systemoch sa obtiazne instaluje. Aj to sa samozrejme da prekonat. Horsie je to uz s obvyklymi „procedurami“ ako je vypis tabuliek, vypis vsetkych schem, praca s uzivatelmi a podobne.
Pre spojazdnenie Oracle v Adminerovi by bolo asi najjednoduchsie vytvorit ekvivalenty funckii pre MySQL a odlisne prvky jazyka PL/SQL zakomponovat do vnutra tychto funkcii.Samotne rozhranie Adminera by tak prakticky pracovalo s Oracle ako s MySQL, rozdiely by boli iba na urovni volania funckii.
Ako som uz spomenul, vsetko sa da vyriesit, len treba dostatok casu. Vyvijat novy driver pre Oracle nie je potrebne, nakolko uz existuje OCI alebo nieco podobne, mozno napr. v dibi.
Ale kvalitny nastroj pre webovu spravu podla mna zatial nie je.
Myslim si, ze aj ked Oracle nie je vyslovene komunitnou platformou, takyto nastroj by urcite mnoho programatorov a adminov privitalo.

Já Tom

Jen tak mimo … rozhodl jsem se, že Adminer taky ozkoušim a docela jsem si ho během dneška oblíbil. Uvidíme, co ukáže praxe. Každopádně jsem chtě říct, že se mi líbí vzhled od p. Hořínka. Osvěžení v podobě pár decentních ikon je příjemné. Jak už tu bylo zmíněno, i mě osobně více vyhovuje ikonka pro vypsání tabulky, namísto textu. Ještě by to chtělo dva režimy pro hromadnou změnu dat (jednou tak, jak je to implementováno a jednou tak, jak nabízí phpmyadmin – čili obsáhlý formulář) a moje spokojenost bude maximální.
Dík za tenhle dobrej nástroj!

zedna

Adminer se mi moc líbí, používám phpMyAdmin ale taky mi vadí jeho těžkopádnost. Adminera jsem si stáhnul multijazyčnou­,multidatabázo­vou verzi a jsem zatím nad míru spokojen.

Ještě budu zkoušet bezpečnost ale vypadá to, že mám nového oblíbence. Je fakt, že tam kde už mám phpmyadmina, tak přecházet asi nebudu, nicméně adminer je pro mě rychlejší a jednodušší alternativa. Ještě mi ukažte takovouhle alternativu pro net2ftp a budu nejspokojenější.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.