phpMyAdmin (3.) - konfigurace rozšířených funkcí
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.
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.