Michal Čihař - phpMyAdmin (8.) - Tipy a triky

phpMyAdmin (8.) - Tipy a triky

V závěrečném díle se podíváme na některé užitečné vlastnosti, které mnoha uživatelům nejsou známy. Některé z nich jsou určeny spíše pro vývojáře aplikací, jiné zase pro administrátory databáze, ale každý může najít něco pro sebe. Tentokrát se prostě spíše jedná o přehled zajímavých konfiguračních voleb.

Na začátek by se asi slušelo omluvit, že poslední díl vychází z takovým spožděním. Důvod je jednoduchý – prostě se mi do psaní nechtělo. Doufám že i s takovým spožděním si tento díl najde svoje čtenáře.

Export a import

Soubory na serveru

To že data můžeme pomocí prohlížeče uploadovat a stáhnout asi objeví každý. Občas se ale hodí přenášet soubory jinou cestou, například je již máme na serveru a je zbytečné je přenášet tam a zpátky, nebo chceme ukládat zálohy na server. Toto řeší volby $cfg['UploadDir'] a $cfg['SaveDir'], první určuje odkud může phpMyAdmin načítat soubory a druhá kam je může ukládat (tento adresář samozřejmě musí mít odpovídající práva). V případě zálohování na serveru se může hodit nastavit oba dva stejně, takže uložené soubory můžeme také importovat:

Nezapomeňte, že toto nastavení je společné pro všechny uživatele, tedy že všichni mohou číst i zapisovat soubory v nastavených adresářích.

Nastavení jména souborů

Výchozí jméno exportovaného souboru je podle objektu, který exportujeme. To ovšem nemusí vyhovovat, například pokud chceme archivat několik záloh jedné databáze. Pomocí šablony pro název souboru si můžeme snadno nechat soubor pojmenovat jak chceme. Šablonu můžeme změnit buď na stránce s exportem, ta poté bude uložena do cookie a obnovena pokaždé, když na stránku přistoupíme ze stejného prohlížeče, nebo v konfiguračním souboru (volby $cfg['Export']['file_template_table'] pro tabulky a podobné pro databázi a server), kde ovlivníme výchozí nastavení (tedy uživatelé, kteří již mají něco v cookies o toto nastavení nepřijdou).

Formát jednak může obsahovat speciální sekvence __TABLE__, __DATABASE__ a __SERVER__, které jsou nahraženy jménem tabulky, databáze nebo serveru, a dále formátovací řetězce pro funkci strftime. Pokud chceme třeba pojmenovat soubory tak, aby obsahovaly aktuální datum, stačí zadat takovýto text: %Y-%m-%d-__TABLE__ a jméno souboru (ať už při ukládání na serveru, nebo navržené prohlížečem při ukládání) bude podle našich představ.

Konverze kódování

Problémy s kódováním jsou v Česku, stejně tak jako v mnoha zemích, kde ASCII nestačí, už tradiční. Pokud používáte MySQL 4.1 a novější, export z phpMyAdmina je v UTF-8, pokud nezapnete podporu pro překódování textů. Ta se zapíná volbou $cfg['AllowAnywhereRecoding'], vyžaduje v PHP nainstalované iconv nebo recode a pak u exportu přibyde nastavení kódování (seznam můžeme ovlivit v $cfg['AvailableCharsets'], výchozí kódování volbou $cfg['DefaultCharset']).

Přihlášení na libovolný server

Základní nastavení umožní přistup jen na definované servery. V některých případech to může být zbytečně omezující, tak pomocí $cfg['AllowArbitraryServer'] můžeme povolit přístup na libovolný server. Tato volba funguje jenom s přihlašováním přes cookie a v přihlašovacím formuláři poté přibyde políčko pro zadání serveru. Při povolování nezapomeňte na možná bezpečnostní rizika – například pokud je webserver za firewallem, může potom uživatel přistupovat k libovolnému MySQL serveru ve vnitřní síti.

Informace o MySQL, změna hesla pro uživatele

Výchozí stránka se zdá být poměrně skoupá na možnosti. Je ovšem možné je snadno přidat. Správci serverů ocení informace o MySQL ($cfg['ShowMysqlInfo'] pro informace o stavu MySQL a $cfg['ShowMysqlVars'] pro zobrazení proměnných serveru), uživatelé zase formulář pro změnu hesla ($cfg['ShowChgPassword']) a vývojáři píšící v PHP se určitě občas potřebují podívat na výpis funkce phpinfo ($cfg['ShowPhpInfo'])..

Dokumentace

Pokud je člověk offline nebo je připojen pomalou linkou, odkazy na dokumentaci MySQL vedoucí na internet ho moc nepotěší. Pokud máme dokumentaci nainstalovanou někde lokálně není žádný problém nastavit phpMyAdmina tak, aby odkazy ukazovaly na naší. Do $cfg['MySQLManualBase'] zadáme, kde se manuál nachází a volbou $cfg['MySQLManualType'] určíme o jaký typ dokumentace se jedná ("chapters" pro jednu stránku na kapitolu, "big" pro jeden velký HTML soubor, ostatní jsou popsány v konfiguračním souboru).

Výchozí záložky

Každý provádí nejčastěji jinou operaci. Někdo upravuje data, jiný strukturu tabulek nebo exportuje data. Proto výchozí nastavení je jakýsi kompromis a je na uživateli, aby si ho přizpůsobil, pokud mu nevyhovuje. V konfiguračním souboru jsou pro tento účel určeny volby $cfg['DefaultTabTable'] a podobné (ještě pro databázi a server). Pokud vám výchozí záložky nevyhovují, vyberte si z dalších možností a určitě si ušetříte několik kliků.

Závěr

Tak to je z toho seriálu vše. doufám, že pro vás bylo alespoň něco užitečné a děkuji za pozornost.