Kata sandi anda tidak memenuhi persyaratan kebijakan saat ini

Saya ingin membuat user baru di mysql dengan sintaks:

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

Tapi itu kembali kesalahan:

password Anda tidak memenuhi kebijakan saat ini kebutuhan.

Saya telah mencoba banyak password tapi mereka don't bekerja. Bagaimana saya bisa memperbaiki ini?

Mengomentari pertanyaan (3)
Larutan

Karena password anda. Anda dapat melihat password memvalidasi konfigurasi metrik menggunakan query berikut pada MySQL client:

sql MENUNJUKKAN variabel-VARIABEL SEPERTI 'validate_password%';

atau anda dapat mengatur sandi kebijakan tingkat yang lebih rendah, misalnya:

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

Anda cek MySQL Dokumentasi.

Komentar (6)

CATATAN: Ini mungkin tidak menjadi solusi yang aman. Tetapi jika anda bekerja pada lingkungan pengujian, hanya perlu perbaikan cepat dan doesn't peduli tentang pengaturan keamanan. Ini adalah solusi yang cepat.

Masalah yang sama terjadi padaku ketika aku berlari "mysql_secure_installation" dan dimodifikasi password keamanan tingkat ke 'media'.

Saya dilewati kesalahan dengan menjalankan hal-hal sebagai berikut:

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

pastikan anda menginstal plugin "validate_password" jika diperlukan.

Komentar (2)

Jika anda don't peduli apa kata sandi kebijakan. Anda dapat mengaturnya untuk RENDAH dengan mengeluarkan bawah perintah mysql:

mysql> SET GLOBAL validate_password_policy=LOW;
Komentar (1)

Setelah menjalankan perintah sudo mysql_secure_installation.

  1. Menjalankan sudo mysql untuk masuk ke prompt mysql.
  2. Menjalankan ini PILIH pengguna,authentication_string,plugin,host DARI mysql.pengguna; untuk memeriksa pengguna root untuk memiliki plugin auth_socket.
  3. Kemudian lakukan lari uninstall plugin validate_password; untuk menjatuhkan hak istimewa sebelum menjalankan ini ALTER USER 'root'@'localhost' DIIDENTIFIKASI DENGAN mysql_native_password OLEH 'kata';pastikan untuk mengubah password untuk kata sandi yang kuat.

CATATAN: periksa link ini https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04 untuk bantuan lebih lanjut

Komentar (0)

Untuk MySQL 8*

SET GLOBAL validate_password.kebijakan=RENDAH

Link referensi untuk menjelaskan tentang kebijakan - Klik Disini

Komentar (0)

Anda harus mengubah MySQL password kebijakan yang RENDAH.

login sebagai root

mysql -u root -p

perubahan kebijakan

SET GLOBAL validate_password_policy=LOW;

atau

SET GLOBAL validate_password_policy=0;
exit

keluar

restart MySQL layanan

sudo service mysqld restart

Anda harus mengubah MySQL kebijakan password untuk Rendah = 0 / Sedang = 1 / Tinggi = 2.

SET GLOBAL validate_password_policy=0;
SET GLOBAL validate_password_policy=1;    
SET GLOBAL validate_password_policy=2;
Komentar (0)

Menurut saya pengaturan "validate_password_policy" untuk "murah" atau menguninstall "memvalidasi password plugin" ini bukan hal yang tepat untuk dilakukan. Anda harus tidak pernah kompromi dengan keamanan dari database anda (kecuali jika anda don't benar-benar peduli). Saya bertanya-tanya mengapa orang-orang bahkan menyarankan opsi ini ketika anda hanya dapat memilih password yang baik.

Untuk mengatasi masalah ini, saya menjalankan perintah berikut di mysql: MENUNJUKKAN variabel-VARIABEL SEPERTI 'validate_password%' seperti yang disarankan oleh @JNevill. Saya "validate_password_policy" ditetapkan untuk Menengah, bersama dengan hal-hal lain. Berikut adalah screenshot dari pelaksanaannya: Memvalidasi Kebijakan Password

Hasilnya cukup jelas. Untuk password yang valid(ketika kebijakan Password set ke medium):

  • Password harus minimal 8 karakter
  • Dicampur kasus count adalah 1 (Minimal 1 huruf kecil, 1 huruf di tutup)
  • Jumlah hitungan 1
  • Minimum Karakter khusus count adalah 1

Jadi password yang valid harus mematuhi kebijakan tersebut. Contoh password yang valid untuk aturan di atas mungkin:

  • Student123@
  • NINZAcoder$100
  • demoPass#00

Anda dapat memilih kombinasi asalkan memenuhi kebijakan.

Untuk lain-lain "validate_password_policy" anda hanya dapat melihat nilai untuk pilihan yang berbeda dan memilih password anda sesuai(saya belum't mencoba untuk "TINGGI").

Komentar (1)

Langkah 1: periksa default plugin otentikasi

SHOW VARIABLES LIKE 'default_authentication_plugin';

Langkah 2: veryfing password validasi persyaratan

SHOW VARIABLES LIKE 'validate_password%';

Langkah 3: pengaturan user dengan password yang benar persyaratan

CREATE USER ''@'localhost' IDENTIFIED WITH '' BY 'password';
Komentar (0)

Untuk MySql 8 anda dapat menggunakan script berikut:

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;
Komentar (0)

Aku punya Masalah yang sama, dan Jawabannya adalah Tepat di depan anda, ingat ketika anda menjalankan script saat menginstal mysql seperti

sudo mysql_secure_installation

ada suatu tempat yang anda pilih yang jenis password yang akan anda ingin memilih

Ada tiga tingkat validasi sandi kebijakan:

RENDAH Suhu udara turun menjadi >= 8 Panjang MENENGAH >= 8, numerik, kasus campuran, dan karakter khusus SANGAT Panjang >= 8, numerik, dicampur kasus, karakter khusus dan file kamus

Silahkan masukkan 0 = RENDAH 1 = SEDANG 2 = KUAT:

anda harus memberikan password untuk kebijakan yang sama

berikut ini adalah beberapa contoh contoh untuk password anda:
untuk tipe 0: abcdabcd
untuk tipe 1: abcd1234
untuk tipe 2: ancd@1234

Komentar (0)

Untuk Laravel pengguna yang memiliki masalah ini dengan MySQL 8.0.x, tambahkan 'mode'=> [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ], untuk anda database.php file seperti di bawah ini: `` // database.php

'koneksi' => [

'mysql' => [ 'driver' => 'mysql', 'host' => env( 'DB_HOST', '127.0.0.1' ), 'pelabuhan' => env( 'DB_PORT', '3306' ), 'database' => env( 'DB_DATABASE', 'forge' ), 'nama' => env( 'DB_USERNAME', 'forge' ), 'kata' => env( 'DB_PASSWORD', '' ), 'unix_socket' => env( 'DB_SOCKET', '' ), 'charset' => 'utf8mb4', 'pemeriksaan' => 'utf8mb4_unicode_ci', 'awalan' => '', 'yang ketat' => benar, 'engine' => null, 'mode' => [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ], ], ], `` Tetap itu bagi saya.

Komentar (0)

Masalahnya adalah bahwa kata sandi anda tidak cocok dengan password aturan validasi. Anda dapat dengan mudah mengikuti langkah-langkah berikut untuk memecahkan masalah anda.

Anda hanya bisa melihat password validasi konfigurasi matriks dengan mengetik kode di bawah ini.

mysql-> SHOW VARIABLES LIKE 'validate_password%';

Kemudian di matrix anda, anda dapat menemukan berikut variabel-variabel dengan nilai yang sesuai dan di sana anda harus memeriksa validate_password_length , validate_password_number_count dan validate_password_policy.

Memeriksa nilai-nilai yang digunakan untuk variabel tersebut. Pastikan anda validate_password_length tidak harus lebih besar dari 6. Anda dapat mengatur bahwa untuk 6 dengan menggunakan kode di bawah ini.

SET GLOBAL validate_password_length = 6;

Dan setelah itu anda perlu untuk mengatur validate_password_number_count ke 0. Lakukan ini dengan menggunakan kode di bawah ini.

SET GLOBAL validate_password_number_count = 0;

Akhirnya anda harus mengatur anda validate_password_policy untuk rendah. Setelah itu sebagai Medium atau Tinggi tidak memungkinkan anda kurang aman password. Set yang rendah oleh kode di bawah ini.

SET GLOBAL validate_password_policy=LOW;
Komentar (0)

Pesan kesalahan ini tidak ada hubungannya dengan password yang tersimpan di meja anda. Hal ini juga occures jika anda mengetik (pada SQL console)

"pilih password('123456789')"

atau jika

"pilih password('A123456789')"

atau jika

"pilih password('A!123456789')"

Jika anda tipe

"pilih password('A!a123456789')"

maka akan bekerja. Hanya menggunakan besar + huruf kecil, karakter khusus dan angka untuk membuat kata sandi anda.

Anda dapat menonaktifkan pemeriksaan ini pada saya.cnf, tapi kemudian anda akan memiliki risiko keamanan!

di [mysqld] tambahkan:

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
Komentar (0)

didn't bekerja untuk saya pada ubuntu menginstal segar mysqld, harus menambahkan ini: untuk /etc/mysql/mysql.conf.d/mysqld.cnf atau server tidak't start (kira plugin didn't beban pada waktu yang tepat ketika saya hanya menambahkan tanpa plugin-beban-tambahkan direktif)

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
Komentar (0)