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.