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.
13.9.2005 06:00 | Michal Čihař | přečteno 19314×
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.
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.
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.
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']
).
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.
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']
)..
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).
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ů.
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.