SERVERY: phpMyAdmin 8.2. - kde je config?

Pro dobrou správu MySQL a přístup k základním funkcím tohoto databázového nástroje, je osvědčeným mistrem administrační rozhraní phpMyAdmin. Jeho optimální nastavení je záležitostí souboru config.inc.php. Ve verzi 8.2. je dobře ukrytý a vyžaduje některé novinky.

Částečný výřez hlavního okna admin. rozhraní 'phpMyAdmin'
Po nainstalování nové verze phpMyAdmin 2.8.2 jsem byl chvíli překvapen. Bylo samozřejmě třeba provést pro dobrý chod tohoto administračního rozhraní nutnou konfiguraci. Ta se provádí v souboru config.inc.php. Avšak kam se tento souborpoděl? Na tradiční pozici nevyl. Musel jsem tedy v adresáři hledat. Po krátkém průzkumu adresářového stromu jsem soubor nalezl, je ukrytý ve složce libraries a jmenuje se poněkud jinak než u starších verzi: config.default.php. Tento soubor se tedy nastaví na potřebné hodnoty, jako starý soubor.

Adresářový strom - phpMyAdmin
Práva pro uživatele systemové databáze
Co je nového v nastavení? Hodně o tom napoví bohatá dokumentace, které je tentokrát v této verzi v samostatném souboru HTML (TXT) s odkazem na webové stránky dodavatele. Popis v dokumentaci na této stránce však bohatě stačí. Zvlášť je zde věnována pozornost přidělení práv speciálnímu uživateli, který bude pracovat s rozšiřující systémovou databází pma. Samozřejmě můžeme si ji pojmenovat po svém. Pak ale je třeba všude tohoto uživatele změnit. Tento uživatel bude moci získávat informace o systemové databázi.
Pokud používáte s novější verzi MySQL, použijete následující PHP příkaz pro vytvoření uživatelských práv. Jednoduše aktivujete v phpMyAdmin (v levém sloupci) ikonku SQL a do otevřeného okna nakopírujete následující příkaz (zápis). Systemová databáze se bude jmenovat pma. Pozor, začátek obou zápisů (před GRANT) nesmí obsahovat žadný znak! Na konci zápisu je středník. Důležité, jinak nebude fungovat
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
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';
Pokud používáte verzi MySQL 4.0.2 a starší, musíte použít následující, podstatně jednodušší PHP příkaz pro vytvoření uživatelských práv. Taktéž aktivujete v phpMyAdmin (v levém sloupci) ikonku SQL a do otevřeného okna nakopírujete tento příkaz (zápis):
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
) 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';
Úprava nastavení direktiv v config.default.php
Po změně uživatelských práv musíme samozřejmě vytvořenou databázi patřičně nastavit v souboru config.default.php. To provedeme v následujících direktivach, na řádcích:
- ř. 67: $cfg['Servers'][$i]['controluser'] = 'pma';
- ř. 69: $cfg['Servers'][$i]['controlpass'] = 'heslo k sys. db';
- ř. 75: $cfg['Servers'][$i]['user'] = 'vašeuživjméno k MySQL';
- ř. 76: $cfg['Servers'][$i]['password'] = 'vašeheslo k MySQL';
Resumé
Pokud dodržíte tento postup měla by vám databáze pma, nebo jak ji nazvete, bez problému fungovat. Toto nastavení jsem nejen vyzkoušel, ale v uvedené konstalaci provozuji na serveru.
Zatím nikdo nekomentoval. Buďte proto první a vložte svůj komentář.
Aby jste mohli přidávat komentáře, musíte být přihlášený.
Musíte být registrovaný, aby jste mohli hodnotit.
Prosím přihlašte se, a nebo se zaregistrujte.
Zatím nikdo nehodnotil.