Portál AbcLinuxu, 12. května 2025 17:01

Dotaz: Zjištění existence uživatele v MySQL

14.8.2012 20:01 Petr
Zjištění existence uživatele v MySQL
Přečteno: 533×
Odpovědět | Admin
Zdravím, jak bych mohl pomocí bash zjistit, jestli existuje požadovaný uživatel v MySQL? Potřeboval bych s tím výsledkem nadále pracovat, respektivně na základě negativního výsledku budu pokračovat v programu, v opačném případě bude program ukončen. Děkuji za funkční řešení.... P.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.8.2012 20:15 Kit
Rozbalit Rozbalit vše Re: Zjištění existence uživatele v MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zřejmě chceš založit nového uživatele. Mnohem výhodnější je rovnou nového uživatele vložit. Pokud již existuje (databáze odmítne vložit duplicitní záznam), vyvolat chybové hlášení.
14.8.2012 20:24 Petr
Rozbalit Rozbalit vše Re: Zjištění existence uživatele v MySQL
Ano, jedná se o vytvoření nového uživatele a tak to mám uděláno teď, přesto bych potřeboval ověřit tu existenci. Děkuji
14.8.2012 20:28 Kit
Rozbalit Rozbalit vše Re: Zjištění existence uživatele v MySQL
Ověřování existence uživatele před jeho založením je nebezpečné, protože může dojít k race condition. Je lepší se v tom spolehnout na databázi, než to šmudlit mimo ni.

Prostě ti nebudu radit, jak se máš střílet do nohy.
14.8.2012 22:57 l4m4
Rozbalit Rozbalit vše Re: Zjištění existence uživatele v MySQL
Máš to trochu naopak. V případě positivního výsledku, tedy uživatele se podařilo založit, pokračuj v programu, kdežto v případě negativního, tedy založení selhalo (např. kvůli duplicitě), program ukonči.
16.8.2012 10:33 Petr
Rozbalit Rozbalit vše Re: Zjištění existence uživatele v MySQL
Ale nemám, mám to jak jsem psal...
17.8.2012 09:06 l4m4
Rozbalit Rozbalit vše Re: Zjištění existence uživatele v MySQL
A tak, jak to píšeš, je to právě naopak, než se postupuje normálně.
16.8.2012 23:21 arva
Rozbalit Rozbalit vše Re: Zjištění existence uživatele v MySQL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mozna neco takoveho mysql -N -B -h localhost -u root -p$MYPAS -e "select count(*) from user where user='root';" mysql

Kdyz vysledek 0 - uzivatel neexistuje, kdyz > 0, tak existuje. V MYPAS je heslo nebo si ho dat do .my.cnf

Linuxu zdar.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.