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.
Pokud žádné rozšířené funkce nemáme nastavené, phpMyAdmin nás varuje, jak můžete vidět na této stránce dole .
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 návrhář tabulek, 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. Přihlásíme 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';
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* 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 jejichž 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šší, v phpMyAdminovi 3.0 je jen create_tables.sql, který je pro všechny podporované verze MySQL). Přihlásíme se jako uživatel root, otevřeme stránku pro import , na ní zadáme jméno souboru a provedeme import. O těchto nově vytvořených tabulkách dáme phpMyAdminovi 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ělo varování zmizet a můžeme používat mnoho dalších funkcí. Podrobnosti o nich budou rozebrány někdy příště.