13.7.1.10 ASETA SALASANA Lausunto
SET PASSWORD
lausuma määrittää salasanan MySQL-käyttäjätili. Salasana voidaan joko erikseen määritellä lausekkeessa tai satunnaisesti luoda MySQL. Ilmoitus voi sisältää myös salasana-todentaminen lauseke, joka määrittää tilisi nykyinen salasana on vaihdettava, ja lauseke, joka hallinnoi, onko tili on toissijainen salasana., '
ja auth_string
''
jokainen edustaa suojaamattomana (salaamaton) salasana.current_auth_string
'
sen Sijaan käyttää SET PASSWORD
määrittää salasanoja, ALTER USER
on ensisijainen lausunnon huomioon muutokset, mukaan lukien määrittämällä salasanoja., Esimerkiksi:
ALTER USER user IDENTIFIED BY 'auth_string';
Lausekkeita, satunnaisen salasanan sukupolvi, salasana todentaminen, ja toissijainen salasanoja koskevat vain tilejä, jotka käyttävät authentication plugin, joka tallentaa valtakirjojen sisäisesti MySQL. Tileille, jotka käyttävät liitännäistä, joka suorittaa tunnistautumisen MySQL: n ulkopuolista valtakirjajärjestelmää vastaan, salasanojen hallintaa on käsiteltävä ulkoisesti myös kyseistä järjestelmää vastaan. Lisätietoja sisäisistä tunnuksista on kohdassa 6.2.15, ”salasanojen hallinta”.,
REPLACE '
– lausekkeen, suorittaa salasana todentaminen ja on saatavilla MySQL: 8.0.13. Jos annettu:current_auth_string
'
-
REPLACE
määrittää tilisi nykyinen salasana on vaihdettava, koska suojaamattomana (salaamaton) merkkijono. -
– lauseke on annettava, jos salasana muutokset huomioon ovat tarpeen määrittää nykyisen salasanan, kun on tarkistettu, että käyttäjä yrittää tehdä muutos todella tietää nykyinen salasana.,
-
– lauseke on valinnainen, jos salasanan vaihto tilin voi mutta ei tarvitse määritä nykyinen salasana.
-
lausunto epäonnistuu, jos lauseke on annettu, mutta ei vastaa nykyistä salasanaa, vaikka lauseke on valinnainen.
-
REPLACE
voidaan määrittää vain, kun vaihdat tilin salasanan nykyinen käyttäjä.
lisätietoja salasanalla määrittämällä nykyinen salasana, ks. Kohta 6.2.15, ”Salasana Hallinta”.,
RETAIN CURRENT PASSWORD
lauseke toteuttaa dual-salasana ominaisuus ja on saatavilla MySQL 8.0.14. Jos annettu:
-
RETAIN CURRENT PASSWORD
säilyttää tilin nykyinen salasana kuin sen toissijainen salasana, joka korvaa kaikki nykyiset toissijainen salasana. Uudesta salasanasta tulee ensisijainen salasana, mutta asiakkaat voivat käyttää tiliä yhteyden muodostamiseen palvelimelle joko ensisijaisella tai toissijaisella salasanalla., (Poikkeus: Jos uusi salasana on määriteltySET PASSWORD
lausunto on tyhjä, toissijainen salasana on tyhjä, vaikkaRETAIN CURRENT PASSWORD
annetaan.) -
Jos määrität
RETAIN CURRENT PASSWORD
tilin, joka on tyhjä ensisijainen salasana, lausunto epäonnistuu. -
Jos tili on toissijainen salasana ja voit muuttaa sen ensisijainen salasana täsmentämättä
RETAIN CURRENT PASSWORD
toissijainen salasana pysyy ennallaan.
lisätietoja käyttö dual salasanat, ks. Kohta 6.2.,15, ”Password Management”.
SET PASSWORD
luvat nämä auth_option
syntaksien:
-
= '
auth_string
'Määrittää, että tili annetaan selväkielinen salasana.
-
TO RANDOM
Määrittää tilin salasanan satunnaisesti MySQL. Selvitys myös palaa suojaamattomana salasana tulos asettaa, jotta se on käyttäjän saatavilla tai sovelluksen suorittamista julkilausuman.,
lisätietoja tulos set ja ominaisuudet satunnaisesti salasanoja, nähdä Satunnaisen Salasanan Sukupolvi.
Random password generation on saatavilla MySQL: stä 8.0.18.
joissakin olosuhteissa, SET PASSWORD
voidaan tallentaa palvelimen lokit tai asiakkaan puolella historian tiedosto, kuten ~/.mysql_history
, mikä tarkoittaa, että suojaamattomana salasanat voidaan lukea kuka tahansa ottaa lukuoikeus tietoihin., Lisätietoja olosuhteet, joissa tämä tapahtuu, palvelimen lokit, ja miten hallita sitä, ks. Kohta 6.1.2.3, ”Salasanat ja Kirjautumalla”. Samanlaisia tietoja asiakaspuolen kirjautumisesta on kohdassa 4.5.1.3, ”MySQL Client loging”.,p> SET PASSWORD
voidaan käyttää kanssa tai ilman FOR
lausekkeen, joka nimenomaan nimet käyttäjätili:
-
Jossa
FOR
– lauseke, lauseke asettaa salasanan nimetylle tilille, joka on olemassa:user
SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string';
-
ilman
FOR
– lauseke, lauseke asettaa salasana nykyinen käyttäjä:user
SET PASSWORD = 'auth_string';
mitä Tahansa asiakas, joka muodostaa yhteyden palvelimeen käyttämällä nonanonymous-tilin voi muuttaa salasanan tilin., (Erityisesti, voit vaihtaa oman salasanan.) Voit tarkistaa tilin, johon palvelin todentaa sinua niin, vedota
CURRENT_USER()
tehtävä:SELECT CURRENT_USER();
– Jos FOR
– lauseke on annettu, tilin nimi käyttää muodossa kuvattu Kohdassa 6.2.4 ”sen Määrittäminen tilien Nimet”. Esimerkiksi: user
SET PASSWORD FOR 'bob'@'%.example.org' = 'auth_string';
isännän nimi osa tilin nimi, jos se jätetään pois, oletuksena '%'
.,
SET PASSWORD
tulkitsee merkkijonon suojaamattomana string, kulkee sen authentication plugin liittyvä tili, ja tallentaa tuloksen palasi plugin tilille rivi mysql.user
järjestelmä-taulukko. (Plugin annetaan mahdollisuus hash-arvo osaksi salaus muodossa se odottaa. Liitännäinen voi käyttää arvoa määritettynä, jolloin ei tapahdu hashing.,)
salasanan Asettaminen nimeltään huomioon (jossa FOR
lauseke) vaatii UPDATE
etuoikeus mysql
järjestelmä-skeema. Salasanan asettaminen itse (varten nonanonymous-tilin, jossa ei ole FOR
lauseke) ei vaadi erityisiä oikeuksia.,
Lausunnot, jotka muuttavat toisen asteen salasanat vaatia näitä oikeuksia:
-
APPLICATION_PASSWORD_ADMIN
etuoikeus on käytettäväRETAIN CURRENT PASSWORD
lausekeSET PASSWORD
lausunnot, jotka koskevat oman tilin. Etuoikeus vaaditaan manipuloimaan omaa toissijaista salasanaa, koska useimmat käyttäjät tarvitsevat vain yhden salasanan., -
Jos tili on sallittua manipuloida toissijainen salasanoja kaikki tilit, se olisi myönnettävä
CREATE USER
etuoikeuden sijaanAPPLICATION_PASSWORD_ADMIN
.
Kun read_only
järjestelmä-muuttuja on käytössä, SET PASSWORD
vaatii CONNECTION_ADMIN
etuoikeus (tai vanhentunut SUPER
etuoikeus), lisäksi kaikki muut tarvittavat oikeudet.
lisätietoja salasanojen asettaminen ja todennus plugins, ks. Kohta 6.2.,14, ”Assigning Account Passwords”, ja kohta 6.2.17, ”Pluggable Authentication”.