Ange lösenord

posted in: Articles | 0

Syntax

SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }

beskrivning

SET PASSWORD tilldelar ett lösenord till ett befintligt MariaDB-användarkonto.

om lösenordet anges med funktionen PASSWORD() eller OLD_PASSWORD()ska den bokstavliga texten i lösenordet anges. Omlösenordet anges utan att använda någon funktion, passwordsbör vara det redan krypterade lösenordsvärdet som returneras avPASSWORD().,

OLD_PASSWORD() ska endast användas om dina MariaDB/MySQL-klienter är mycket gamla (< 4.0.0).

med ingenFOR – klausul anger detta uttalande lösenordet för den aktuella användaren. Alla klienter som har anslutit till servern med hjälp av en icke-anonymousaccount kan ändra lösenordet för det kontot.

med enFOR – klausul anger detta uttalande lösenordet för ett specifikt konto på den aktuella servervärden., Endast klienter som har behörigheten UPDATEför mysql – databasen kan göra detta. Användarvärdet bör anges i user_name@host_name – formatet, där user_name och host_name ärexakt eftersom de listas i tabellpostenmysql.user.

argumentet tillPASSWORD() och lösenordet till MariaDB-klienter kan vara av godtycklig längd.

stöd för Autentiseringsinsticksprogram

MariaDB börjar med 10.,4

i MariaDB 10.4 och senare,SET PASSWORD (med eller utanPASSWORD()) fungerar för konton som autentiseras via någon autentisering plugin som stöder lösenord som lagras i tabellenmysql.global_priv.

ed25519,mysql_native_password ochmysql_old_password autentiseringsinsticksprogram lagrar lösenord i tabellenmysql.global_priv.,

om du körSET PASSWORD på ett konto som autentiserar med ett av dessa autentiseringsinsticksprogram som lagrar lösenord i tabellenmysql.global_priv utvärderas funktionenPASSWORD() av det specifika autentiseringsinsticksprogrammet som används av kontot. Autentiseringsinsticksprogrammet har lösenordet med en metod som är kompatibel med det specifika autentiseringsinsticksprogrammet.,

unix_socket,named_pipe,gssapi ochpam autentiseringsinsticksprogram lagrar inte lösenord i tabellenmysql.global_priv. Dessa autentisering plugins förlitar sig på andra metoder för att autentisera användaren.,

om du försöker köra SET PASSWORD på ett konto som autentiserar med ett av dessa autentiseringsinsticksprogram som inte lagrar ett lösenord i tabellen mysql.global_priv, kommer MariaDB-servern att få en varning som följande:

SET PASSWORD is ignored for users authenticating via unix_socket plugin

se autentisering från MariaDB 10.4 för en översikt över autentiseringsändringar i MariaDB 10.4.10, 4.

MariaDB till 10,3

I MariaDB 10.,3 och tidigare fungerar SET PASSWORD (med eller utan PASSWORD()) endast för konton som autentiseras via mysql_native_password eller mysql_old_password autentiseringsinsticksprogram

Lösenordslösa användarkonton

användarkonton kräver inte alltid lösenord för inloggning.

unix_socket,named_pipe ochgssapi autentiseringsinsticksprogram kräver inget lösenord för att autentisera användaren.,

pam autentisering plugin kan eller kanske inte kräver ett lösenord för att autentisera användaren, beroende på den specifika konfigurationen.

mysql_native_password ochmysql_old_password autentiseringsinsticksprogram kräver lösenord för autentisering, men lösenordet kan vara tomt. I så fall krävs Inget lösenord.

Om du anger ett lösenord när du försöker logga in på servern som ett konto som inte kräver ett lösenord, kommer MariaDB-servern helt enkelt att ignorera lösenordet.

MariaDB börjar med 10.,4

i MariaDB 10.4 och senare kan ett användarkonto definieras för att använda flera autentiseringsinsticksprogram i en viss ordning. Det här specifika scenariot kan vara mer märkbart i dessa versioner, eftersom ett konto kan associeras med vissa autentiseringsinsticksprogram som kräver ett lösenord och vissa som inte gör det.

exempel

om du till exempel hade en post med värden för”bob ’och’%.loc.,gov’, du skulle skriva thestatement så här:

SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');

om du vill ta bort ett lösenord för en användare, skulle du göra:

SET PASSWORD FOR 'bob'@localhost = PASSWORD("");

Se även

  • lösenord validering Plugins – tillåter inställningen av grundläggande kriterier för lösenord
  • ALTER USER

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *