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
.
- Uitvoeren
sudo mysql
om in de mysql prompt in te voeren. - Run this
SELECT user,authentication_string,plugin,host FROM mysql.user;
om te controleren voor de gebruiker wortel te hebben als plugin auth_socket . - Dan lopen
uninstall plugin validate_password;
om privileges te laten vallen voordat u
thisALTER 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_count
en validate_password_policy
aanvinken.
Controleer de waarden die voor die variabelen worden gebruikt. Zorg ervoor dat uw validate_password_length
niet 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_count
op 0 zetten. Doe dit door onderstaande code te gebruiken.
SET GLOBAL validate_password_number_count = 0;
Eindelijk moet je je validate_password_policy
op low
zetten. Als u dat als Medium
of High
heeft, staan uw minder veilige wachtwoorden niet toe. Stel dat in op low
met 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.