GNU/Linux >> Belajar Linux >  >> Linux

Perbaiki – MySQL ERROR 1819 (HY000):Kata sandi Anda tidak memenuhi persyaratan kebijakan saat ini

Seperti yang mungkin Anda perhatikan, Anda akan diminta untuk mengaktifkan VALIDATE PASSWORD komponen saat mengatur kata sandi untuk root MySQL pengguna. Jika diaktifkan, komponen Validasi Kata Sandi akan secara otomatis memeriksa kekuatan kata sandi yang diberikan dan memaksa pengguna untuk menyetel hanya kata sandi yang cukup aman. Jika Anda memberikan kata sandi yang lemah, Anda akan menemukan kesalahan seperti ini - ERROR 1819 (HY000): Your password does not satisfy the current policy requirements .

Secara teknis, itu sebenarnya bukan kesalahan. Ini adalah mekanisme keamanan bawaan yang memberi tahu pengguna untuk hanya memberikan kata sandi yang kuat berdasarkan persyaratan kebijakan kata sandi saat ini.

Mari saya tunjukkan sebuah contoh. Saya masuk ke server MySQL sebagai root pengguna menggunakan perintah:

$ mysql -u root -p

Buat pengguna basis data dengan kata sandi yang lemah:

mysql> create user 'ostechnix'@'localhost' identified by 'mypassword';

Dan saya mengalami kesalahan berikut:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Lihat? Validate Password komponen tidak mengizinkan saya membuat pengguna dengan kata sandi yang lemah (yaitu mypassword pada kasus ini).

Anda akan terus mendapatkan kesalahan ini hingga sandi memenuhi persyaratan kebijakan sandi saat ini atau Anda menonaktifkan Validate Password komponen. Kita akan melihat bagaimana melakukannya di bagian berikut.

Perbaiki - MySQL ERROR 1819 (HY000):Kata sandi Anda tidak memenuhi persyaratan kebijakan saat ini

Ada tiga tingkat kebijakan validasi kata sandi yang diterapkan saat Validate Password plugin diaktifkan:

  • RENDAH Panjang>=8 karakter.
  • MENENGAH Panjang>=8, numerik, huruf besar campuran, dan karakter khusus.
  • KUAT Panjang>=8, numerik, huruf besar campuran, karakter khusus, dan file kamus.

Berdasarkan tingkat kebijakan ini, Anda perlu menetapkan kata sandi yang sesuai. Misalnya, jika kebijakan validasi sandi disetel ke Medium, Anda harus menyetel sandi yang memiliki minimal 8 karakter termasuk angka, huruf kecil, huruf besar, dan karakter khusus.

Pertama, kita perlu menemukan tingkat kebijakan sandi saat ini. Untuk melakukannya, jalankan perintah berikut untuk menampilkan variabel sistem Plugin Validasi Kata Sandi:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Contoh keluaran:

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.09 sec)

Seperti yang Anda lihat, tingkat sandi yang diterapkan saat ini adalah Sedang . Jadi, sandi kami harus terdiri dari 8  karakter dengan angka, huruf besar-kecil, dan karakter khusus.

Saya akan menyetel sandi ini - Password123#@! menggunakan perintah:

mysql> create user 'ostechnix'@'localhost' identified by 'Password123#@!';
Query OK, 0 rows affected (0.36 sec)

Lihat? Ini bekerja sekarang! Jadi, untuk memperbaiki "ERROR 1819 (HY000)... " kesalahan, Anda harus memasukkan kata sandi sesuai dengan kebijakan validasi kata sandi saat ini.

Ubah kebijakan validasi kata sandi di MySQL

Anda juga dapat memecahkan "ERROR 1819 (HY000)... " dengan menyiapkan kebijakan sandi tingkat yang lebih rendah.

Untuk melakukannya, jalankan perintah berikut dari prompt mysql:

mysql> SET GLOBAL validate_password.policy = 0;

Atau,

mysql> SET GLOBAL validate_password.policy=LOW;

Kemudian periksa apakah kebijakan validasi kata sandi telah diubah menjadi rendah:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Contoh keluaran:

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 8     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

Sekarang Anda dapat membuat pengguna dengan kata sandi yang lemah seperti di bawah ini:

mysql> create user 'senthil'@'localhost' identified by 'password';

Untuk kembali ke kebijakan tingkat MEDIUM, cukup jalankan perintah ini dari perintah mysql:

mysql> SET GLOBAL validate_password.policy=MEDIUM;

Jika kebijakan kata sandi tidak berubah, keluar dari perintah mysql dan mulai ulang layanan mysql dari jendela Terminal Anda:

$ sudo systemctl restart mysql

Sekarang seharusnya berhasil.

Perhatian: Salah satu pembaca kami telah menunjukkan bahwa ada kesalahan ketik pada perintah berikut:

mysql> SET GLOBAL validate_password.policy=LOW;

Seharusnya:

mysql> SET GLOBAL validate_password_policy=LOW;

Perhatikan garis bawah pada perintah di atas. Karena saya telah menghapus pengaturan, saya tidak memiliki cara untuk memverifikasi perintah ini. Tapi saya menganggap perintah telah diubah di versi MySQL yang lebih baru.

Nonaktifkan kebijakan validasi sandi

Jika Anda ingin membuat pengguna dengan kata sandi yang lemah, cukup nonaktifkan Validate Password komponen sekaligus dan aktifkan kembali setelah membuat pengguna.

Masuk ke server MySQL:

$ mysql -u root -p

Untuk menonaktifkan sementara komponen Validasi Kata Sandi, jalankan perintah berikut dari prompt MySQL:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

Buat pengguna dengan kata sandi pilihan Anda:

mysql> create user 'kumar'@'localhost' identified by '123456';

Terakhir, aktifkan komponen Validasi Kata Sandi:

mysql> INSTALL COMPONENT "file://component_validate_password";

Saya pribadi tidak menyarankan mengubah kebijakan ke level yang lebih rendah atau menonaktifkan kebijakan kata sandi. Baik itu pengguna database atau pengguna biasa, selalu gunakan kata sandi yang kuat dengan lebih dari 8 karakter termasuk angka, huruf besar-kecil, dan karakter spasial.

Kesimpulan

Dalam panduan ini, kami mempelajari tentang salah satu kesalahan umum MySQL - ERROR 1819 (HY000): Your password does not satisfy the current policy requirements dan cara memperbaikinya di Linux. Kami juga mempelajari cara menonaktifkan kebijakan sandi untuk mengizinkan sandi yang lemah.

Bacaan terkait:

  • Instal Apache, MySQL, PHP (LAMP Stack) Di Ubuntu 20.04 LTS
  • Instal Nginx, MySQL, PHP (LEMP Stack) Di Ubuntu 20.04 LTS

Linux
  1. Perbaiki Repositori tidak memiliki file rilis Kesalahan di Ubuntu - Panduan langkah demi langkah?

  2. CentOS – perintah semanage tidak ditemukan kesalahan – Perbaikannya ada di sini!

  3. Perbaiki Kesalahan PHP – Tidak aman untuk mengandalkan pengaturan zona waktu sistem

  1. Panggilan balik terdaftar tidak cocok dengan URL yang disediakan – Perbaiki Kesalahan WSO2

  2. Kapan Seseorang Mendapatkan Pesan Kesalahan "pekerjaan:Tidak Ditemukan"?

  3. Cara Memperbaiki Kesalahan Editor Vi / Vim — E319:Maaf, perintah tidak tersedia di versi ini

  1. Perbaiki kesalahan Class ZipArchive tidak ditemukan [PHP 7]

  2. MySQL gagal:mysql ERROR 1524 (HY000):Plugin 'auth_socket' tidak dimuat

  3. Mengubah kata sandi root tidak mengubah kata sandi sudo