Syntax
SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }
Popis
SET PASSWORD
prohlášení přiřadí heslo pro existující MariaDB useraccount.
Pokud je heslo zadáno pomocí funkce PASSWORD()
nebo OLD_PASSWORD()
, měl by být uveden doslovný text hesla. Pokud je heslo zadáno bez použití obou funkcí, hesloby měla být již šifrovaná hodnota hesla vrácenáPASSWORD()
.,
OLD_PASSWORD()
by měly být použity pouze tehdy, pokud jsou vaši klienti MariaDB/MySQL velmi staří (< 4.0.0).
bez klauzule FOR
toto prohlášení nastavuje heslo pro currentuser. Každý klient, který se připojil k serveru pomocí non-anonymousaccount může změnit heslo pro tento účet.
s klauzulíFOR
nastavuje toto prohlášení heslo pro konkrétní účet na aktuálním hostiteli serveru., Mohou to udělat pouze klienti, kteří mají oprávnění UPDATE
pro databázi mysql
. Uživatel hodnota by měla být v uživatelské_jméno@host_name
format, kde user_name
host_name
areexactly, jak jsou uvedeny na Uživatele a Hostitele sloupcemysql.user
záznam v tabulce.
argument PASSWORD()
a heslo dané klientům MariaDB může mít libovolnou délku.
podpora autentizačního pluginu
MariaDB počínaje 10.,4
V MariaDB 10.4 a novější, SET PASSWORD
(s nebo bez PASSWORD()
) pracuje pro ověřené účty prostřednictvím jakéhokoli ověření plugin, který podporuje hesla uložená v mysql.global_priv
tabulka.
ed25519
mysql_native_password
mysql_old_password
ověřování pluginy ukládat hesla v mysql.global_priv
tabulka.,
Pokud spustíte SET PASSWORD
na účet, který ověřuje s jedním z těchto ověřování pluginy, které ukládá hesla v mysql.global_priv
tabulky, pak PASSWORD()
funkce je vyhodnocena podle konkrétní autentizační plugin používaný účet. Autentizační plugin hash heslo metodou, která je kompatibilní s tímto konkrétním autentizačním pluginem.,
unix_socket
named_pipe
gssapi
pam
ověřování pluginy neukládejte hesla v mysql.global_priv
tabulka. Tyto autentizační pluginy se spoléhají na jiné metody ověření uživatele.,
Pokud se pokusíte spustit SET PASSWORD
na účet, který ověřuje s jedním z těchto ověřování pluginy, které neukládá heslo v mysql.global_priv
tabulka, pak MariaDB Server zvýší varování, jako je následující:
SET PASSWORD is ignored for users authenticating via unix_socket plugin
Viz Ověřování z MariaDB 10.4 přehled ověřování změn v MariaDB 10.4.
MariaDB do 10, 3
v MariaDB 10.,3 a předtím, SET PASSWORD
(s nebo bez PASSWORD()
) funguje pouze pro účty ověřen pomocí mysql_native_password
nebo mysql_old_password
ověřování pluginy
Passwordless Uživatelské Účty
Uživatelské účty ne vždy vyžadují heslo pro přihlášení.
unix_socket
named_pipe
gssapi
ověřování modulů nevyžadují heslo pro ověření uživatele.,
pam
authentication plugin může nebo nemusí vyžadovat heslo pro ověření uživatele, v závislosti na konkrétní konfiguraci.
mysql_native_password
mysql_old_password
ověřování pluginy vyžadují hesla pro ověřování, ale heslo může být prázdné. V takovém případě není vyžadováno žádné heslo.
Pokud zadáte heslo při pokusu o přihlášení k serveru jako účet, který nevyžaduje heslo, pak MariaDB server bude jednoduše ignorovat heslo.
MariaDB počínaje 10.,4
v MariaDB 10.4 a novější lze definovat uživatelský účet pro použití více autentizačních pluginů v určitém pořadí preferencí. Tento konkrétní scénář může být více patrné v těchto verzích, protože účet může být spojena s některými ověřování pluginy, které vyžadují heslo, a některé ne.
Příklad:
například, pokud jste měli vstup s Uživatelem andHost hodnoty sloupce ‚bob
“ a “ %.příměří.,gov
‚, napsal bys thestatement, jako je tento:
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
chcete-Li odstranit heslo pro uživatele, udělal byste:
SET PASSWORD FOR 'bob'@localhost = PASSWORD("");
Viz Také
- Ověření Hesla Pluginy – umožňuje nastavení základní kritéria pro hesla
ALTER USER
Napsat komentář