Portál AbcLinuxu, 9. srpna 2025 13:39
Zřejmě jste se dopustil zcela klasické chyby a neodstranil jste z tabulky user anonymní uživatele, které si MySQL implicitně vytváří. Pokud je host localhost a user prázdný, pak má přednost před %, protože je konkrétnější. Jenomže nesmí mít heslo. Výsledkem je, že se na compu, kde běží server, nepřihlásíte. Nejjednodužší je smazat anonymní uživatele příkazem
DELETE FROM user WHERE User = ''; FLUSH PRIVILEGES;
(Příkazem REVOKE to nejde, je třeba použít DELETE). Akorát teď nevím, jak se tam dostanete s rootem. Pokud je to tato klasická chyba, mělo by to ale jít z jiného počítače.
Pokud je v tabulce User prázdný uživatel, znamená to jakékoliv uživatelské jméno z daného hosta nebo žádné. Pochopitelně nesmí mít zadané heslo.Při iniciaci MySQL se vytváří dva anonymní uživatelé s Hostem localhost a %, kteří mají omezená práva na databáze, začínající řetězcem "test". Tedy
''@'localhost' a ''@'%'.Při instalaci na Windows se navíc vedle
'root'@'localhost' vytváří 'root'@'%' ,oba bez hesla se všemi právy. Pokud u druhého nezrušíte nebo i jemu nepřidáte heslo, budete mít při administraci spoustu pomocníků.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.