Når du opretter en MySQL bruger med en relativt svag adgangskode, kan du støde på fejlen "MySQL ERROR 1819 (HY000):Din adgangskode opfylder ikke de nuværende politikkrav ’. Teknisk set er dette ikke en fejl, men en meddelelse om, at du bruger en adgangskode, der ikke opfylder de anbefalede krav til adgangskodepolitik.
Med andre ord bruger du en svag adgangskode, som let kan gættes eller tvinges til. Den indbyggede sikkerhedsmekanisme afskrækker brugere fra at oprette svage adgangskoder, som kan gøre din database udsat for brud.
Relateret artikel :Nyttige tips til fejlfinding af almindelige fejl i MySQLFor eksempel løb jeg ind i fejlen, da jeg oprettede en bruger som vist
mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;
Det er ligegyldigt, at adgangskoden er ekstremt svag og kan udgøre en sikkerhedsrisiko.
Sådan løses MySQL ERROR 1819 (HY000) i Linux
MySQL databasen leveres med et validate_password plugin, som, når det er aktiveret, håndhæver en politik for validering af adgangskode. Der er 3 niveauer af adgangskodevalideringspolitik, der håndhæves af plugin'et.
- LAV :Giver brugere mulighed for at angive en adgangskode på 8 eller færre tegn.
- MIDDEL :Giver brugere mulighed for at angive en adgangskode på 8 eller færre tegn med blandede store og små bogstaver og specialtegn.
- STÆRK :Giver brugere mulighed for at angive en adgangskode, der har alle egenskaberne for en adgangskode på mellemniveau med inklusion af en ordbogsfil.
Adgangskodepolitikken er som standard indstillet til MIDDEL . Du kan bekræfte adgangskodepolitikniveauet ved at udføre kommandoen:
$ SHOW VARIABLES LIKE 'validate_password%';
Hvis du kører kommandoen og får outputtet tomt sæt, så er plugin'et ikke aktiveret endnu.
For at aktivere validate_password plugin, skal du køre kommandoerne nedenfor.
mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%'; mysql> install plugin validate_password soname 'validate_password.so';
For at bekræfte, at plugin'et er aktiveret, skal du køre kommandoen.
mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
Du bør få output vist nedenfor:
For at løse problemet skal du indstille adgangskodevalideringspolitikken til det laveste niveau. Jeg ved, at dette lyder modintuitivt, da det skaber en mulighed for at indstille svage adgangskoder, som i sidste ende kan få din database til at blive kompromitteret af hackere.
Men hvis du stadig insisterer på at have din vilje, er her, hvad du kan gøre.
Sådan ændres MySQL Adgangskodevalideringspolitik
For at løse MySQL FEJL 1819 (HY000) fejl, skal du indstille en lavere adgangskodevalideringspolitik som vist.
mysql> SET GLOBAL validate_password_policy=LOW; OR mysql> SET GLOBAL validate_password_policy=0;
Du kan derefter bekræfte politikniveauet for adgangskodevalidering.
$ SHOW VARIABLES LIKE 'validate_password%';
Nu kan du fortsætte og tildele en relativt svag adgangskode efter dit ønske.
mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;
For at vende tilbage til "MEDIUM ' adgangskodepolitikniveau, skal du blot kalde kommandoen:
mysql> SET GLOBAL validate_password_policy=MEDIUM;
Konklusion
Personligt vil jeg ikke anbefale at indstille en adgangskodepolitik på et lavere niveau af indlysende årsager. Uanset om det er en normal bruger eller en databasebruger, anbefales det altid at indstille en stærk MySQL-adgangskode med mere end 8 tegn med en blanding af store, små, numeriske og specialtegn.
Denne vejledning er af hensyn til dem, der ønsker at vide, hvordan man navigerer i en sådan fejl, ellers anbefales det altid at angive en stærk adgangskode.