Saya ingin membuat pengguna baru di mysql dengan sintaks:
create user 'demo'@'localhost' identified by 'password';
Tapi itu mengembalikan kesalahan:
Kata sandi Anda tidak memenuhi persyaratan kebijakan saat ini.
Saya sudah mencoba banyak kata sandi tetapi tidak berhasil. Bagaimana saya bisa memperbaikinya?
SHOW VARIABLES LIKE 'validate_password%'
UNINSTALL COMPONENT 'file://component_validate_password';
Jawaban:
Karena kata sandi Anda. Anda dapat melihat kata sandi memvalidasi metrik konfigurasi menggunakan kueri berikut di klien MySQL:
Outputnya harus seperti itu:
maka Anda dapat mengatur level kebijakan kata sandi lebih rendah, misalnya:
periksa Dokumentasi MySQL .
sumber
SET GLOBAL validate_password_policy = 0;
SET GLOBAL validate_password.length = 6; SET GLOBAL validate_password.number_count = 0;
TERDAMPAK !!SET GLOBAL validate_password.policy = 0;
CATATAN: Ini mungkin bukan solusi yang aman. Tetapi jika Anda bekerja pada lingkungan pengujian, hanya perlu perbaikan cepat dan bahkan tidak peduli dengan pengaturan keamanan. Ini solusi cepat.
Masalah yang sama terjadi pada saya ketika saya menjalankan "mysql_secure_installation" dan mengubah tingkat keamanan kata sandi menjadi 'sedang'.
Saya memintas kesalahan dengan menjalankan yang berikut ini:
pastikan Anda menginstal ulang plugin "validate_password" jika perlu.
sumber
Jika Anda tidak peduli apa kebijakan kata sandi itu. Anda dapat mengaturnya ke RENDAH dengan mengeluarkan perintah mysql di bawah ini:
sumber
SET GLOBAL validate_password.policy=LOW;
sebaliknyaUntuk MySQL 8 *
SET GLOBAL validate_password.policy=LOW
Referensi Tautan untuk menjelaskan tentang kebijakan - Klik Di Sini
sumber
Setelah menjalankan perintah
sudo mysql_secure_installation
.sudo mysql
untuk masuk ke prompt mysql.SELECT user,authentication_string,plugin,host FROM mysql.user;
untuk memeriksa root pengguna untuk memiliki plugin auth_socket .uninstall plugin validate_password;
untuk membatalkan hak istimewa sebelum menjalankan ini.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Pastikan untuk mengubah kata sandi menjadi kata sandi yang kuat.CATATAN: lihat tautan ini https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04 untuk bantuan lebih lanjut
sumber
Anda harus mengubah kebijakan kata sandi MySQL menjadi RENDAH.
login sebagai root
ubah kebijakan
atau
keluar
restart layanan MySQL
Anda harus mengubah kebijakan kata sandi MySQL ke Rendah = 0 / Sedang = 1 / Tinggi = 2.
sumber
Untuk MySql 8 Anda dapat menggunakan skrip berikut:
sumber
Menurut pendapat saya, pengaturan "validate_password_policy" menjadi "low" atau menghapus instalan "validate password plugin" bukanlah hal yang tepat untuk dilakukan. Anda tidak boleh berkompromi dengan keamanan basis data Anda (kecuali jika Anda tidak terlalu peduli). Saya bertanya-tanya mengapa orang bahkan menyarankan opsi ini ketika Anda hanya dapat memilih kata sandi yang baik.
Untuk mengatasi masalah ini, saya menjalankan perintah berikut di mysql: TAMPILKAN VARIABEL SEPERTI 'validate_password%' seperti yang disarankan oleh @JNevill. "Validate_password_policy" saya disetel ke Sedang, bersama dengan hal-hal lain. Ini adalah screenshot pelaksanaannya: Validasi Kebijakan Kata Sandi
Hasilnya cukup jelas. Untuk kata sandi yang valid (ketika kebijakan kata sandi disetel ke media):
Jadi kata sandi yang valid harus mematuhi kebijakan. Contoh kata sandi yang valid untuk aturan di atas mungkin:
Anda dapat memilih kombinasi apa saja selama memenuhi kebijakan.
Untuk "validate_password_policy" lainnya, Anda cukup melihat nilai untuk opsi yang berbeda dan memilih kata sandi yang sesuai (Saya belum mencoba "KUAT" ).
https://dev.mysql.com/doc/refman/5.6/en/validate-password-options-variables.html
sumber
validate_password_policy
keLOW
. Pengguna dapat dengan sempurna membuat atau menghasilkan kata sandi yang kuat yang memenuhi persyaratan. Jika Anda tidak yakin bagaimana melakukannya, gunakan alat untuk itu. Misalnya github.com/joseluisq/rpasswdLangkah 1: periksa plugin autentikasi default Anda
Langkah 2: sangat memenuhi persyaratan validasi kata sandi Anda
Langkah 3: mengatur pengguna Anda dengan persyaratan kata sandi yang benar
sumber
Saya memiliki Masalah yang sama dan Jawabannya Tepat di depan Anda, ingat ketika Anda menjalankan skrip saat menginstal mysql seperti
sudo mysql_secure_installation
di suatu tempat Anda memilih jenis kata sandi yang ingin Anda pilih
Ada tiga tingkat kebijakan validasi kata sandi:
Panjang RENDAH> = 8 Panjang MENENGAH> = 8, angka, huruf besar, dan karakter khusus KUAT Panjang> = 8, angka, huruf besar, karakter khusus dan file kamus
Silakan masukkan 0 = RENDAH, 1 = MENENGAH dan 2 = KUAT:
Anda harus memberikan kata sandi untuk kebijakan yang sama
berikut ini beberapa contoh contoh kata sandi Anda:
untuk tipe 0:
abcdabcd
untuk tipe 1:
abcd1234
untuk tipe 2:
ancd@1234
sumber
Untuk pengguna Laravel yang memiliki masalah ini dengan MySQL 8.0.x, tambahkan
ke file database.php Anda seperti di bawah ini:
Memperbaikinya untuk saya.
sumber
Masalahnya adalah kata sandi Anda tidak akan cocok dengan aturan validasi kata sandi. Anda dapat mengikuti langkah-langkah di bawah ini untuk menyelesaikan masalah Anda.
Anda cukup melihat matriks konfigurasi validasi kata sandi dengan mengetikkan kode di bawah ini.
Kemudian dalam matriks Anda, Anda dapat menemukan variabel di bawah ini dengan nilai yang sesuai dan di sana Anda harus memeriksa
validate_password_length
,validate_password_number_count
danvalidate_password_policy
.Periksa nilai yang digunakan untuk variabel-variabel tersebut. Pastikan Anda
validate_password_length
tidak boleh lebih dari 6. Anda dapat mengatur ke 6 dengan menggunakan kode di bawah ini.Dan setelah itu Anda perlu mengatur
validate_password_number_count
ke 0. Lakukan dengan menggunakan kode di bawah ini.Akhirnya Anda harus membuat Anda
validate_password_policy
untuklow
. Memiliki itu sebagaiMedium
atauHigh
tidak akan membiarkan kata sandi Anda kurang aman. Setel itulow
dengan kode di bawah ini.sumber
Tetapkan kata sandi yang memenuhi 7 aturan validasi MySql
misalnya:-
d_VX>N("xn_BrD2y
Membuat kriteria validasi sedikit lebih sederhana akan menyelesaikan masalah
Tetapi disarankan kata sandi yang kuat adalah solusi yang benar
sumber
Pesan kesalahan ini tidak ada hubungannya dengan kata sandi yang tersimpan di tabel Anda. Ini juga terjadi jika Anda mengetik (pada konsol SQL)
"pilih kata sandi ('123456789')"
atau jika
"pilih kata sandi ('A123456789')"
atau jika
"pilih kata sandi ('A! 123456789')"
Jika Anda mengetik
"pilih kata sandi ('A! a123456789')"
maka itu akan berhasil. Cukup gunakan huruf besar + kecil, karakter khusus, dan angka untuk membuat kata sandi Anda.
Anda dapat menonaktifkan pemeriksaan ini di my.cnf, tetapi kemudian Anda akan memiliki risiko keamanan!
di [mysqld] tambahkan:
sumber
tidak berfungsi untuk saya di ubsqld instal baru ubuntu, harus menambahkan ini: ke /etc/mysql/mysql.conf.d/mysqld.cnf atau server tidak mau memulai (tebak plugin tidak memuat di waktu yang tepat ketika saya hanya menambahkannya tanpa direktif add-plugin-load)
sumber
Ada beberapa saat di mana menemukan solusi cepat sangat bagus. Tetapi jika Anda dapat menghindari pembatasan kata sandi yang rendah, ini dapat mencegah Anda mengalami sakit kepala besar di masa mendatang.
Tautan berikutnya adalah dari dokumentasi resmi https://dev.mysql.com/doc/refman/5.6/en/validate-password.html , tempat mereka mengekspos contoh persis seperti yang Anda miliki, dan mereka menyelesaikannya.
Satu-satunya masalah yang Anda miliki adalah kata sandi Anda tidak cukup kuat untuk memenuhi kebijakan minimum aktual (tidak disarankan untuk dihapus). Jadi Anda dapat mencoba kata sandi yang berbeda seperti yang Anda lihat pada contoh.
sumber
TAMPILKAN VARIABEL SEPERTI 'validate_password%';
mysql> SET GLOBAL validate_password.length = 6;
mysql> SET GLOBAL validate_password.number_count = 0;
mysql> SET GLOBAL validate_password.policy = RENDAH;
TAMPILKAN VARIABEL SEPERTI 'validate_password%';
sumber
sumber