Stel wachtwoord in

geplaatst in: Articles | 0

syntaxis

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

Description

Het SET PASSWORD statement wijst een wachtwoord toe aan een bestaande MariaDB-gebruikersaccount.

als het wachtwoord is opgegeven met behulp van de functie PASSWORD() of OLD_PASSWORD(), moet de letterlijke tekst van het wachtwoord worden opgegeven. Als het wachtwoord is opgegeven zonder een van beide functies te gebruiken, moet het wachtwoord de reeds versleutelde wachtwoordwaarde zijn zoals geretourneerd doorPASSWORD().,

OLD_PASSWORD() dient alleen gebruikt te worden als uw MariaDB/MySQL clients zeer oud zijn (< 4.0.0).

zonder FOR clausule, stelt deze instructie het wachtwoord in voor de huidige gebruiker. Elke client die verbinding heeft gemaakt met de server met behulp van een niet-anoniem account, kan het wachtwoord voor dat account wijzigen.

met een FOR clausule, stelt deze instructie het wachtwoord in voor een specifieke account op de huidige server host., Alleen clients die de UPDATEprivilege hebben voor demysql database kunnen dit doen. De gebruikerswaarde moet worden gegeven in user_name@host_name formaat, waarbij user_name en host_name actief zijn zoals ze zijn vermeld in de kolommen gebruiker en Host van demysql.user tabelinvoer.

het argument voor PASSWORD() en het wachtwoord gegeven aan MariaDB clients kunnen van willekeurige lengte zijn.

authenticatie Plugin ondersteuning

MariaDB beginnend met 10.,4

in MariaDB 10.4 en hoger werkt SET PASSWORD (met of zonder PASSWORD()) voor accounts die zijn geverifieerd via een authenticatieplugin die wachtwoorden ondersteunt die zijn opgeslagen in de tabel mysql.global_priv.

deed25519,mysql_native_password, enmysql_old_password authenticatie plugins slaan wachtwoorden op in demysql.global_priv tabel.,

Als u SET PASSWORD uitvoert op een account dat authenticeert met een van deze authenticatieplug-ins die wachtwoorden opslaat in de mysql.global_priv tabel, dan wordt de functie PASSWORD() geëvalueerd door de specifieke authenticatieplug-in die door het account wordt gebruikt. De verificatieplugin hashes het wachtwoord met een methode die compatibel is met die specifieke verificatieplugin.,

deunix_socket,named_pipe,gssapi, enpam authenticatie plugins slaan geen wachtwoorden op in demysql.global_priv tabel. Deze authenticatie plugins vertrouwen op andere methoden om de gebruiker te authenticeren.,

Als u probeert SET PASSWORD uit te voeren op een account dat authenticeert met een van deze authenticatieplugins die geen wachtwoord opslaan in de mysql.global_priv tabel, dan zal de MariaDB-Server een waarschuwing oproepen als volgt:

SET PASSWORD is ignored for users authenticating via unix_socket plugin

zie authenticatie van MariaDB 10.4 voor een overzicht van authenticatie wijzigingen in MariaDB 10.4.

MariaDB tot 10.3

in MariaDB 10.,3 en daarvoor werkt SET PASSWORD (met of zonder PASSWORD()) alleen voor accounts die zijn geverifieerd via mysql_native_password of mysql_old_password authenticatie plugins

Passwordless User Accounts

User accounts vereisen niet altijd wachtwoorden om in te loggen.

Deunix_socket,named_pipe engssapi authenticatie plugins vereisen geen wachtwoord om de gebruiker te authenticeren.,

de pam authenticatieplugin kan al dan niet een wachtwoord vereisen om de gebruiker te authenticeren, afhankelijk van de specifieke configuratie.

demysql_native_password enmysql_old_password authenticatie plugins vereisen wachtwoorden voor authenticatie, maar het wachtwoord kan leeg zijn. In dat geval is geen wachtwoord vereist.

Als u een wachtwoord opgeeft terwijl u probeert in te loggen op de server als een account dat geen wachtwoord vereist, dan zal de MariaDB-server het wachtwoord gewoon negeren.

MariaDB beginnend met 10.,4

in MariaDB 10.4 en hoger kan een gebruikersaccount worden gedefinieerd om meerdere authenticatie plugins te gebruiken in een specifieke volgorde van voorkeur. Dit specifieke scenario kan meer opvallen in deze versies, omdat een account kan worden geassocieerd met een aantal authenticatie plugins die een wachtwoord vereisen, en sommige die niet.

voorbeeld

bijvoorbeeld, als u een regel had met User andHost kolomwaarden van ‘bob‘ en ‘%.loc.,gov‘, u schrijft de verklaring als volgt:

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

Als u een wachtwoord voor een gebruiker wilt verwijderen, doet u:

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

zie ook

  • Password Validation Plugins – Hiermee kunt u basiscriteria voor wachtwoorden instellen
  • ALTER USER

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *