Uw wachtwoord voldoet niet aan de huidige beleidsvereisten

Ik wil een nieuwe gebruiker maken in mysql met syntaxis:

create user 'demo'@'localhost' identified by 'password';

Maar het geeft een foutmelding:

Uw wachtwoord voldoet niet aan de huidige beleidsvereisten.

Ik heb veel wachtwoorden geprobeerd, maar ze werken niet. Hoe kan ik dit oplossen?


Antwoord 1, autoriteit 100%

Vanwege je wachtwoord. U kunt configuratiegegevens voor wachtwoordvalidatiebekijken met de volgende query in de MySQL-client:

SHOW VARIABLES LIKE 'validate_password%';

De uitvoer zou ongeveer zo moeten zijn:

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 6     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+

dan kunt u het wachtwoordbeleidsniveau lager instellen, bijvoorbeeld:

SET GLOBAL validate_password.length = 6;
SET GLOBAL validate_password.number_count = 0;

Controleer de MySQL-documentatie.


Antwoord 2, autoriteit 23%

Let op: Dit is misschien niet een veilige oplossing. Maar als u werkt op een testomgeving, gewoon behoefte aan een snelle oplossing en zelfs niet de zorg over de beveiligingsinstellingen. Dit is een snelle oplossing.

Hetzelfde probleem overkwam mij toen ik liep “mysql_secure_installation” en gewijzigd wachtwoord beveiliging niveau ‘medium’.

Ik omzeild de fout door het uitvoeren van het volgende:

mysql -h localhost -u root -p
mysql>uninstall plugin validate_password;

Zorg ervoor dat u opnieuw installeren van de plugin “validate_password” als dat nodig is.


3, Autoriteit 18%

Als u niet schelen wat het wachtwoord beleid is. U kunt instellen op LAAG door de uitgifte van de onderstaande mysql commando:

mysql & gt; SET GLOBAL validate_password_policy = LOW;


4, Autoriteit 9%

Voor MySQL 8 *

SET GLOBAL validate_password.policy=LOW

Reference Link uit te leggen over het beleid – Click hier


5, Autoriteit 6%

Na het uitvoeren van de opdracht sudo mysql_secure_installation.

  1. Uitvoeren sudo mysqlom in de mysql prompt in te voeren.
  2. Run this SELECT user,authentication_string,plugin,host FROM mysql.user;om te controleren voor de gebruiker wortel te hebben als plugin auth_socket .
  3. Dan lopen uninstall plugin validate_password;om privileges te laten vallen voordat u
    this ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';Ben zeker verandering password om een ​​sterk wachtwoord

OPMERKING: bekijk deze link https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04voor meer hulp


Antwoord 6, autoriteit 5%

Voor MySql 8 kunt u het volgende script gebruiken:

SET GLOBAL validate_password.LENGTH = 4;
SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.mixed_case_count = 0;
SET GLOBAL validate_password.number_count = 0;
SET GLOBAL validate_password.special_char_count = 0;
SET GLOBAL validate_password.check_user_name = 0;
ALTER USER 'user'@'localhost' IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;

Antwoord 7, autoriteit 3%

U moet het MySQL-wachtwoordbeleid wijzigen in LAAG.

log in als root

mysql -u root -p

beleid wijzigen

SET GLOBAL validate_password_policy=LOW;

of

SET GLOBAL validate_password_policy=0;

afsluiten

exit

start MySQL-service

sudo service mysql restart

U moet het MySQL-wachtwoordbeleid wijzigen in Laag = 0 / Gemiddeld = 1 / Hoog = 2.

SET GLOBAL validate_password_policy=0;
SET GLOBAL validate_password_policy=1;    
SET GLOBAL validate_password_policy=2;

Antwoord 8, autoriteit 3%

Naar mijn mening is het instellen van “validate_password_policy”op “low”of het verwijderen van de “validate password plugin” niet de juiste keuze. U mag nooit een compromis sluiten met de beveiliging van uw database (tenzij het u niet echt kan schelen). Ik vraag me af waarom mensen deze opties zelfs maar voorstellen als je gewoon een goed wachtwoord kunt kiezen.

Om dit probleem op te lossen, heb ik het volgende commando in mysql uitgevoerd: SHOW VARIABLES LIKE ‘validate_password%’zoals voorgesteld door @JNevill. Mijn “validate_password_policy” was ingesteld op Medium, samen met andere dingen. Hier is de screenshot van de uitvoering ervan: Wachtwoordbeleid valideren

Het resultaat spreekt voor zich. Voor een geldig wachtwoord (wanneer het wachtwoordbeleid is ingesteld op gemiddeld):

  • Wachtwoord moet minimaal 8 tekens lang zijn
  • Aantal gemengde hoofdletters is 1 (minimaal 1 letter in het klein en 1 letter in hoofdletters)
  • Aantal is 1
  • Minimaal aantal speciale tekens is 1

Dus een geldig wachtwoord moet aan het beleid voldoen. Voorbeelden van geldig wachtwoord voor bovenstaande regels misschien:

  • Student123@
  • NINZAcoder$100
  • demoPass#00

U kunt elke combinatie kiezen, zolang deze voldoet aan het beleid.

Voor andere “validate_password_policy”kunt u eenvoudig de waarden voor verschillende opties bekijken en uw wachtwoord dienovereenkomstig kiezen (ik heb niet geprobeerd voor “STRONG”).

p>

https://dev.mysql .com/doc/refman/5.6/en/validate-password-options-variables.html


Antwoord 9

Stap 1: controleer uw standaard authenticatie-plug-in

SHOW VARIABLES LIKE 'default_authentication_plugin';

Stap 2: uw vereisten voor wachtwoordvalidatie controleren

SHOW VARIABLES LIKE 'validate_password%';

Stap 3: uw gebruiker instellen met de juiste wachtwoordvereisten

CREATE USER '<your_user>'@'localhost' IDENTIFIED WITH '<your_default_auth_plugin>' BY 'password';

Antwoord 10

Ik had hetzelfde probleem en het antwoord staat recht voor je neus, weet je nog wanneer je het script uitvoerde terwijl je mysql installeerde zoals

sudo mysql_secure_installation

daar ergens heb je gekozen welk type wachtwoord je wilt kiezen

Er zijn drie niveaus van wachtwoordvalidatiebeleid:

LAGE Lengte >= 8
MEDIUM Lengte >= 8, numeriek, hoofdletters en speciale tekens
STRONG Lengte >= 8, numeriek, hoofdletters, speciale tekens en woordenboekbestand

Voer a.u.b. 0 = LAAG, 1 = GEMIDDELD en 2 = STERK in:

je moet een wachtwoord geven aan hetzelfde beleid

hier zijn enkele voorbeelden van uw wachtwoorden:
voor type 0: abcdabcd
voor type 1: abcd1234
voor type 2: ancd@1234


Antwoord 11

Voor Laravel-gebruikers die dit probleem hebben met MySQL 8.0.x, voeg toe

'modes'=> [
             'ONLY_FULL_GROUP_BY',
             'STRICT_TRANS_TABLES',
             'NO_ZERO_IN_DATE',
             'NO_ZERO_DATE',
             'ERROR_FOR_DIVISION_BY_ZERO',
             'NO_ENGINE_SUBSTITUTION',
            ],

naar uw database.php-bestand zoals hieronder:

// database.php
    'connections' => [
        'mysql' => [
            'driver'      => 'mysql',
            'host'        => env( 'DB_HOST', '127.0.0.1' ),
            'port'        => env( 'DB_PORT', '3306' ),
            'database'    => env( 'DB_DATABASE', 'forge' ),
            'username'    => env( 'DB_USERNAME', 'forge' ),
            'password'    => env( 'DB_PASSWORD', '' ),
            'unix_socket' => env( 'DB_SOCKET', '' ),
            'charset'     => 'utf8mb4',
            'collation'   => 'utf8mb4_unicode_ci',
            'prefix'      => '',
            'strict'      => true,
            'engine'      => null,
            'modes'       => [
                'ONLY_FULL_GROUP_BY',
                'STRICT_TRANS_TABLES',
                'NO_ZERO_IN_DATE',
                'NO_ZERO_DATE',
                'ERROR_FOR_DIVISION_BY_ZERO',
                'NO_ENGINE_SUBSTITUTION',
            ],
        ],
    ],

Het heeft het voor mij opgelost.


Antwoord 12

Het probleem is dat uw wachtwoord niet overeenkomt met de regels voor wachtwoordvalidatie. U kunt eenvoudig de onderstaande stappen volgen om uw probleem op te lossen.

U kunt eenvoudig de configuratiematrix voor wachtwoordvalidatie bekijken door onderstaande code te typen.

mysql-> SHOW VARIABLES LIKE 'validate_password%';

Dan kun je in je matrix onderstaande variabelen vinden met bijbehorende waarden en daarin moet je validate_password_length, validate_password_number_counten validate_password_policyaanvinken.

Controleer de waarden die voor die variabelen worden gebruikt. Zorg ervoor dat uw validate_password_lengthniet groter is dan 6. U kunt dat instellen op 6 door onderstaande code te gebruiken.

SET GLOBAL validate_password_length = 6;

En daarna moet je validate_password_number_countop 0 zetten. Doe dit door onderstaande code te gebruiken.

SET GLOBAL validate_password_number_count = 0;

Eindelijk moet je je validate_password_policyop lowzetten. Als u dat als Mediumof Highheeft, staan uw minder veilige wachtwoorden niet toe. Stel dat in op lowmet onderstaande code.

SET GLOBAL validate_password_policy=LOW;

Antwoord 13

TOEN VARIABELEN ZOALS ‘validate_password%’;

mysql> STEL GLOBAAL IN Validatie_wachtwoord.lengte = 6;

mysql> STEL GLOBAAL IN Validatie_wachtwoord.aantal_telling = 0;

mysql> STEL GLOBAAL IN Valid_password.policy=LAAG;

TOEN VARIABELEN ZOALS ‘validate_password%’;


Antwoord 14

Stel een wachtwoord in dat voldoet aan 7 MySql-validatieregels

bijvoorbeeld:- d_VX>N("xn_BrD2y

Het iets eenvoudiger maken van de validatiecriteria zal het probleem oplossen

SET GLOBAL validate_password_length = 6;
SET GLOBAL validate_password_number_count = 0;

Maar aanbevolen een Sterk wachtwoord is een juiste oplossing


Antwoord 15

mysql> SET GLOBAL validate_password.policy = 0;

Antwoord 16

Als de mysql wordt gehost op aws , verwijder dan gewoon de plug-in. Van de root-gebruiker brand hieronder

UNINSTALL PLUGIN validate_password;

Antwoord 17

Deze foutmelding heeft niets te maken met het opgeslagen wachtwoord in uw tabel. Het komt ook voor als u typt (op SQL-console)

“kies wachtwoord(‘123456789’)”

of als

“kies wachtwoord(‘A123456789’)”

of als

“kies wachtwoord(‘A!123456789’)”

Als je typt

“kies wachtwoord(‘A!a123456789’)”

dan werkt het. Gebruik gewoon grote + kleine letters, speciale tekens en cijfers om uw wachtwoord te maken.

U kunt deze controles uitschakelen in my.cnf, maar dan loopt u een veiligheidsrisico!

in [mysqld] toevoegen:

validate_password_policy=LOW
validate_password_special_char_count=0
validate_password_length=0
validate_password_mixed_case_count=0
validate_password_number_count=0

Antwoord 18

werkte niet voor mij op ubuntu verse installatie van mysqld, moest dit toevoegen: aan /etc/mysql/mysql.conf.d/mysqld.cnf of de server zou niet starten (denk dat de plug-in niet laad op het juiste moment wanneer ik het eenvoudig heb toegevoegd zonder de plugin-load-add-richtlijn)

plugin-load-add=validate_password.so
validate_password_policy=LOW
validate_password_length=8
validate_password_mixed_case_count=0
validate_password_number_count=0
validate_password_special_char_count=0

19

Er zijn enkele momenten waar het vinden van een snelle oplossing geweldig is. Maar als u Wachtwoordbeperkingen kunt vermijden, kan u in de toekomst een grote hoofdpijn hebben.

Volgende link is afkomstig van de officiële documentatie https: // dev.mysql.com/doc/refman/5.6/en/validate-password.html , waar ze een voorbeeld van precies zoals je blootstellen, en ze lossen het op.

Het enige probleem dat u hebt is dat uw wachtwoord niet sterk genoeg is om aan het daadwerkelijke minimumbeleid te voldoen (niet aanbevolen om te verwijderen). U kunt dus verschillende wachtwoorden proberen zoals u in het voorbeeld kunt zien.

Other episodes