składnia
SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }
opis
Instrukcja SET PASSWORD
przypisuje hasło do istniejącego Konta Użytkownika MariaDB.
Jeśli hasło jest określone za pomocą funkcji PASSWORD()
lub OLD_PASSWORD()
, należy podać dosłowny tekst hasła. Jeśli hasło jest podane bez użycia żadnej z tych funkcji, hasło powinno być już zaszyfrowaną wartością hasła zwróconą przezPASSWORD()
.,
OLD_PASSWORD()
należy używać tylko wtedy, gdy klienci MariaDB/MySQL są bardzo stare (< 4.0.0).
bezFOR
klauzula ta ustawia hasło dla bieżącego użytkownika. Każdy klient, który połączył się z serwerem za pomocą konta nieanonymousaccount, może zmienić hasło do tego konta.
z klauzuląFOR
, ta instrukcja ustawia hasło dla konkretnego konta na bieżącym serwerze., Tylko klienci, którzy mają uprawnienia UPDATE
dla bazy danych mysql
mogą to zrobić. Wartość użytkownika powinna zaczynać się w formacie nazwa użytkownika@nazwa hosta
, gdzie user_name
I host_name
są dokładnie tak, jak są wymienione w kolumnach użytkownik i Hostmysql.user
wpis do tabeli.
argument doPASSWORD()
I hasło podane klientom MariaDB mogą mieć dowolną długość.
Obsługa wtyczek uwierzytelniania
MariaDB począwszy od 10.,4
W MariaDB 10.4 i nowszych,SET PASSWORD
(z lub bezPASSWORD()
) działa dla kont uwierzytelnionych za pomocą dowolnej wtyczki uwierzytelniania, która obsługuje hasła przechowywane w tabelimysql.global_priv
.
ed25519
,mysql_native_password
orazmysql_old_password
wtyczki uwierzytelniające przechowują hasła w tabelimysql.global_priv
.,
jeśli uruchomiszSET PASSWORD
na koncie, które uwierzytelnia się za pomocą jednej z tych wtyczek uwierzytelniających, które przechowują hasła w tabelimysql.global_priv
, funkcjaPASSWORD()
jest oceniana przez konkretną wtyczkę uwierzytelniającą używaną przez konto. Wtyczka uwierzytelniania hashuje hasło za pomocą metody zgodnej z tą konkretną wtyczką uwierzytelniania.,
unix_socket
,named_pipe
,gssapi
orazpam
wtyczki uwierzytelniania nie przechowują haseł wmysql.global_priv
table. Te wtyczki uwierzytelniania opierają się na innych metodach uwierzytelniania użytkownika.,
Jeśli spróbujesz uruchomić SET PASSWORD
na koncie, które uwierzytelnia się za pomocą jednej z tych wtyczek uwierzytelniających, które nie przechowują hasła w tabeli mysql.global_priv
, serwer MariaDB wywoła ostrzeżenie w następujący sposób:
SET PASSWORD is ignored for users authenticating via unix_socket plugin
Patrz uwierzytelnianie z MariaDB 10.4 Dla przeglądu zmian uwierzytelniania w MariaDB 10.4.
MariaDB do 10.3
W MariaDB 10.,3 i wcześniej, SET PASSWORD
(z lub bez PASSWORD()
) działa tylko dla kont uwierzytelnionych za pomocą mysql_native_password
lub mysql_old_password
wtyczki uwierzytelniania
konta użytkowników bez hasła
konta użytkowników nie zawsze wymagają haseł do logowania.
unix_socket
,named_pipe
Igssapi
wtyczki uwierzytelniania nie wymagają hasła do uwierzytelnienia użytkownika.,
pam
wtyczka uwierzytelniania może wymagać hasła do uwierzytelnienia użytkownika, w zależności od konkretnej konfiguracji.
mysql_native_password
Imysql_old_password
wtyczki uwierzytelniania wymagają haseł do uwierzytelniania, ale hasło może być puste. W takim przypadku hasło nie jest wymagane.
Jeśli podczas próby zalogowania się na serwer podasz hasło jako konto, które nie wymaga hasła, serwer MariaDB po prostu zignoruje hasło.
MariaDB,4
W MariaDB 10.4 i nowszych, konto użytkownika może być zdefiniowane, aby używać wielu wtyczek uwierzytelniania w określonej kolejności preferencji. Ten konkretny scenariusz może być bardziej zauważalny w tych wersjach, ponieważ konto może być powiązane z niektórymi wtyczkami uwierzytelniającymi, które wymagają hasła, a niektóre nie.
przykład
na przykład, jeśli masz wpis z wartościami kolumn User andHost 'bob
' I '%.loc.,gov
', powinieneś napisać to tak:
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
Jeśli chcesz usunąć hasło dla użytkownika, wykonaj:
SET PASSWORD FOR 'bob'@localhost = PASSWORD("");
patrz również
- wtyczki walidacji haseł – umożliwiają ustawienie podstawowych kryteriów dla haseł
ALTER USER
Dodaj komentarz