MySQL – práva k databázi

  Databáze, Webhosting

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.

Byl pro Vás tento návod užitečný?