Při zřízení MySQL databáze k webhostingu obdržíte dvoje přihlašovací údaje:
- Uživatel admin (přihlašovací jméno začíná písmenem „a„) má plná práva k databázi, slouží zejména ke správě databáze přes phpMyAdmin – vytváření tabulek, nastavování indexů atd. Tohoto uživatele byste neměli používat k připojování k MySQL z PHP.
- Uživatel web (přihlašovací jméno začíná písmenem „w„) má omezená práva, smí pracovat s daty, ale nesmí měnit strukturu tabulek. Tohoto uživatele používejte pro připojování k databázi z PHP.
Každá databáze má pevně dané tyto 2 uživatele. Jiné uživatele není možné vytvořit ani jim přidělit jiná práva. Také není možné pomocí jednoho uživatele přistupovat do více databází.
Konkrétní práva uživatele admin:
- Select
- Insert
- Update
- Delete
- Create
- Drop
- Index
- Alter
- Create_tmp_table
- Lock_tables
- Create_view
- Show_view
- Create_routine
- Alter_routine
- Execute
- Trigger
Konkrétní práva uživatele web:
- Select
- Insert
- Update
- Delete
- Create_tmp_table
- Lock_tables
- Execute
K čemu je toto oddělení dobré? V případě, že se podaří někomu napadnou váš web např. přes SQL Inject, můžete mu tímto výrazně ztížit situaci použitím uživatele s co nejmenšími právy.
Pozor však při instalaci některých redakčních systémů do vašeho webhostingu. Musíte nejprve v instalačním průvodci použít uživatele admin, protože uživatel web nemá práva k vytváření databázových tabulek. Po dokončení instalace změňte v konfiguraci redakčního systému uživatele na web.