phpMyAdmin zpřístupňuje nejen funkce MySQL, ale nabízí i mnoho funkcí vlastní.
Pro některé z nich je potřebná konfigurace a tu si dnes ukážeme.
10.11.2004 09:00 | Michal Čihař | read 24900×
DISCUSSION
V předchozím díle nás phpMyAdmin chybou upozornil, že ne vše je optimálně
nastavené pro jeho práci:
Po kliknutí na dotaz se dozvíme, že není v pořádku databáze pro ukládání
těchto dat. phpMyAdmin používá pro ukládání nastavení pro některé funkce
(například relace
mezi tabulkami, komentáře ke sloupcům, vytváření PDF souborů se strukturou
databází a MIME transformace sloupců) vlastní databázi s několika tabulkami.
V případě že připravujeme instalaci pro více uživatelů není vhodné aby k těmto
údajům měli přístup všichni uživatelé používající daný MySQL server. Proto
vytvoříme nejdříve uživatele, který bude mít k příslušným údajům přístup.
Pokud jsme jediným uživatelem, je možné tento krok vynechat. Zalogujeme se do
phpMyAdmina jako root a vytvoříme uživatele pma, který bude mít přístup do
příslušných tabulek, doporučuji použít SQL příkazy z dokumentace (pro starší
verze MySQL je potřeba použít jiné příkazy, ty jsou také uvedeny v
dokumentaci):
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'heslo';
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
Jméno a heslo vytvořeného uživatele uvedeme v konfiguračním souboru:
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'heslo';
Pro další funkce je potřeba někde ukládat data. Tyto jsou ukládány do tabulek
jejihž jména musíme uvést v konfiguraci, pokud nám vyhovují názvy vybrané
vývojáři (tabulky jsou vytvořeny v databázi phpmyadmin, uživatel se jmenuje
pma), můžeme použít pro jejich vytvoření připravený skript
scripts/create_tables.sql (nebo scripts/create_tables_mysql_4_1_2+.sql pro
MySQL 4.1.2 a vyšší). Přihlásíme se jako uživatel root, otevřeme SQL okno:
Zvolíme záložku Importovat soubor a na ní zadáme jméno souboru:
A po odeslání se SQL skript spustí a výsledek se objeví v hlavním okně:
O těcho nově vytvořených tabulkách dáme phpMyAdminu vědět v konfiguračním souboru:
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
Nyní by již měla chyba zmizet a můžeme používat mnoho dalších funkcí. Jak je
využít se dozvíte v dalším díle.