PhpMyAdmin je webová aplikace napsaná v PHP. Je určena pro správu databáze MySQL přes webové rozhraní. S její pomocí si můžete připravit velice rychle novou tabulku nebo odhalit chyby v SQL dotazech. V první části vás seznámím s instalací a základní konfigurací.

PhpMyAdmin je distribuován zdarma pod GNU licencí. Aktuální verze jsou již počeštěné a podporují jednak kódování win-1250 (typicky operační systémy Windows), jednak iso-2 (běžné pro OS Linux). Český jazyk rozhraní je zvolen automaticky podle jazykových preferencí v prohlížeči a pokud ne, dá se nastavit. Kódování češtiny, pokud není správně rozpoznáno, nastavíte ručně. Toto kódování by mělo být nastaveno v PhpMyAdminu stejně, jako na MySQL serveru. V opačném případě se při zobrazování výsledků dotazů české znaky nezobrazí správně, automatické překódování v MySQL je totiž problematické. PhpMyAdmin si stáhněte z oficiálních stránek. Zvolte určitě nejaktuálnější verzi. Aplikace běží bez problémů stejně pod PHP3 i PHP4 a je jedno, jestli PHP je modul nebo CGI spustitelné. Při stahování vám dávají autoři na výběr příponu .php nebo .php3.

Jak bude PhpMyAdmin u vás využíván?

Budu se věnovat dvěma základním případům využití:

Instalace pro jednoho uživatele Program bude nainstalován na pracovní stanici, která je přístupná pouze jednomu programátorovi. Ten vyvíjí dynamické stránky spolupracující s MySQL a potřebuje si je otestovat bez nebezpečí přetížení nebo výpadku SQL-serveru a všech dalších důsledků. PhpMyAdmin pomůže vývojáři navrhnout strukturu tabulek a vykonávat všechny SQL příkazy pro manipulaci s daty – SELECT, UPDATE, INSERT, DELETE.

Instalace pro server PhpMyAdmin bude na webovém serveru připojeném k Internetu, kde běží více prezentací. Na tamním SQL-serveru je více uživatelů, každý má jistá omezení vůči ostatním. Aplikace zabezpečí dodržování všech privilegií. Narozdíl od předchozí první instalace se každý uživatel musí přihlásit pomocí svého databázového uživatelského jména a přístupového hesla.

Ověření v MySQL

Během instalace SQL-serveru MySQL byla vytvořena databáze ‚mysql‘ s několika tabulkami. MySQL používá její tabulky pro řízení přístupu. Ukládá si tam všechna privilegia uživatelů. Po nainstalování je v tabulce user zapsán uživatel root bez hesla. A také uživatel “ (prázdný login) bez hesla. To znamená, že kdokoli se připojí na databázi a zadá uživatel root a heslo nepoužije (Using password:NO), má okamžitě práva databázového root. V případě první instalace je to celkem jedno. U druhé se musí nastavit heslo. Tuto problematiku řeší článek Uživatelé a přístupová práva v MySQL .

Instalace pro jednoho uživatele

Stačí rozbalit archiv se všemi soubory do adresáře, kde má přístup webserver. V souboru config.inc.php jsou následující řádky (komentáře v kódu jsem přeložil do češtiny):

$cfgServers[1][‚host‘] = ‚localhost‘; // název počítače, kde běží MySQL
$cfgServers[1][‚port‘] = “; // port, na kterém běží MySQL (prázdné pro výchozí)
$cfgServers[1][‚socket‘] = “; // cesta k socketu (prázdné pro výchozí)
$cfgServers[1][‚connect_type‘] = ‚tcp‘; // jak se připojit k MySQL (přes ‚tcp‘ nebo přes ‚socket‘)
$cfgServers[1][‚adv_auth‘] = FALSE; // Použít rozšířenou autorizaci?
$cfgServers[1][‚stduser‘] = “; // MySQL ověřovací uživatel (jen při rozšířené autorizaci)
$cfgServers[1][‚stdpass‘] = “; // heslo ověřovacího uživatele (jen při rozšířené autorizaci)
$cfgServers[1][‚user‘] = ‚root‘; // MySQL uživatel (jen při základní autorizaci)
$cfgServers[1][‚password‘] = “; // heslo uživatele (jen při základní autorizaci)

Všechny výchozí hodnoty jsou voleny tak, aby přesně seděly požadavkům první instalace. K MySQL se PhpMyAdmin připojuje pod uživatelem root bez hesla, jak je uvedeno v $cfgServers[1][‚user‘] a $cfgServers[1][‚password‘]. Proměnná $cfgServers[1][‚adv_auth‘] má přiřazenu hodnotu false. Proto je zvolena základní autorizace.

Instalace pro server

Archiv se všemi soubory nahrejte do adresáře, kde má přístup webserver a správce serveru, ale nikdo jiný. V souboru config.inc.php bude totiž napsáno heslo databázového uživatele root. Může se stát, že MySQL běží na jiném stroji než webserver. A ještě na jiném portu, než 3306. Upravte tedy příslušné řádky na:

$cfgServers[1][‚host‘] = ‚sql.moje_domena.cz‘; // MySQL běží na stroji sql.moje_domena.cz
$cfgServers[1][‚port‘] = ‚10000‘; // administrátor změnil port na 10000

Nezapomeňte všem uživatelům v databázi povolit přístup z počítače, na kterém běží webserver. Klientem pro databázi je webserver a uživatelé se budou připojovat k databázi z počítače webserveru. Budete požadovat rozšířenou autorizaci, tedy:

$cfgServers[1][‚adv_auth‘] = TRUE; // právě používáte rozšířenou autorizaci

Teď nastavte uživatele root a jeho heslo. PhpMyAdmin přistoupí k databázi mysql, konkrétně k tabulce user, pod takto určeným ověřovacím uživatelem a ověří, zda zadané jméno a heslo odpovídá existujícímu uživateli na serveru. Je tedy jasné, že ověřovací uživatel musí mít práva přístupu k databázi mysql.

$cfgServers[1][‚stduser‘] = ‚root‘; // ověřovací uživatel je root
$cfgServers[1][‚stdpass‘] = ‚heslo_databazoveho_roota‘; // a jeho heslo

PhpMyAdmin podporuje i správu více SQL-serverů. Mohou běžet na různých počítačích, první třeba na sql.moje_domena.cz a druhý na počítači společně s webserverem, který obsluhuje PhpMyAdmin, tj. localhost. Mohou být i na více různých portech u jednoho stroje, třeba sql.moje_domena.cz:3306 a sql.moje_domena.cz:10000. Údaje o druhém SQL-serveru zadejte do pole $cfgServers[2] stejně, jako tomu bylo v $cfgServers[1] pro první.

Po přihlášení

V případě zapnuté rozšířené autorizace (Instalace pro server) je nutné zadat jméno a heslo. V autorizačním okně jste informováni o názvu serveru, na který se přihlašujete. V případě instalace pro jednoho uživatele se v prohlížeči (po načtení stránky PhpMyAdmin) objeví dokument rozdělený na dva rámce. Levý z nich je seznamem všech databází dostupných danému uživateli. Po klepnutí se rozbalí seznam tabulek v dané databázi. Pravý rámec je pracovní a obsahuje spousty formulářů. V něm se zobrazují např. výsledky dotazu nebo struktura tabulky. Ale o tom všem až příště.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět