Cara Memperbaiki "MySQL ERROR 1819 (HY000):" di Linux


Saat membuat pengguna MySQL dengan kata sandi yang relatif lemah, Anda mungkin mengalami kesalahan 'MySQL ERROR 1819 (HY000): Kata sandi Anda tidak memenuhi persyaratan kebijakan saat ini'. Secara teknis, ini bukan kesalahan, melainkan pemberitahuan bahwa Anda menggunakan kata sandi yang tidak memenuhi persyaratan kebijakan kata sandi yang disarankan.

Dengan kata lain, Anda menggunakan kata sandi lemah yang mudah ditebak atau dipaksakan. Mekanisme keamanan bawaan mencegah pengguna membuat kata sandi yang lemah yang dapat membuat database Anda rentan terhadap pelanggaran.

Misalnya, saya mengalami kesalahan saat membuat pengguna seperti yang ditunjukkan

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

Tidak perlu khawatir jika kata sandinya sangat lemah dan dapat menimbulkan risiko keamanan.

Cara Mengatasi MySQL ERROR 1819 (HY000) di Linux

Basis data MySQL dilengkapi dengan plugin validate_password yang bila diaktifkan, akan menerapkan kebijakan validasi kata sandi. Ada 3 tingkat kebijakan validasi kata sandi yang diterapkan oleh plugin.

  • RENDAH: Memungkinkan pengguna menyetel sandi dengan 8 karakter atau kurang.
  • MEDIUM: Memungkinkan pengguna menyetel sandi yang terdiri dari 8 karakter atau kurang dengan huruf campuran dan karakter khusus.
  • KUAT: Memungkinkan pengguna menyetel sandi yang memiliki semua atribut sandi tingkat menengah dengan penyertaan file kamus.

Secara default, kebijakan sandi disetel ke MEDIUM. Anda dapat mengonfirmasi tingkat kebijakan kata sandi dengan menjalankan perintah:

SHOW VARIABLES LIKE 'validate_password%';

Jika Anda menjalankan perintah dan mendapatkan keluaran set kosong, maka plugin belum diaktifkan.

Untuk mengaktifkan plugin validate_password, jalankan perintah di bawah ini.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
mysql> install plugin validate_password soname 'validate_password.so';

Untuk mengonfirmasi bahwa plugin telah diaktifkan, jalankan perintah.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

Anda harus mendapatkan output yang ditunjukkan di bawah ini:

Untuk mengatasi masalah ini, Anda perlu mengatur kebijakan validasi kata sandi ke tingkat terendah. Saya tahu ini terdengar berlawanan dengan intuisi karena ini menciptakan jalan untuk menetapkan kata sandi yang lemah yang pada akhirnya dapat menyebabkan database Anda disusupi oleh peretas.

Namun, jika Anda masih bersikeras untuk melakukan apa yang Anda inginkan, inilah yang dapat Anda lakukan.

Cara Mengubah Kebijakan Validasi Kata Sandi MySQL

Untuk mengatasi kesalahan MySQL ERROR 1819 (HY000), tetapkan kebijakan validasi kata sandi yang lebih rendah seperti yang ditunjukkan.

mysql> SET GLOBAL validate_password_policy=LOW;
OR
mysql> SET GLOBAL validate_password_policy=0;

Anda kemudian dapat mengonfirmasi tingkat kebijakan validasi kata sandi.

SHOW VARIABLES LIKE 'validate_password%';

Sekarang Anda dapat melanjutkan dan menetapkan kata sandi yang relatif lemah sesuai keinginan Anda.

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

Untuk kembali ke tingkat kebijakan kata sandi ‘MEDIUM’, cukup jalankan perintah:

mysql> SET GLOBAL validate_password_policy=MEDIUM;
Kesimpulan

Secara pribadi, saya tidak akan merekomendasikan pengaturan kebijakan kata sandi tingkat rendah karena alasan yang jelas. Baik itu pengguna biasa atau pengguna database, disarankan untuk selalu menyetel kata sandi MySQL yang kuat dengan lebih dari 8 karakter dengan campuran huruf besar, huruf kecil, numerik, dan karakter khusus.

Panduan ini ditujukan bagi mereka yang ingin mengetahui cara mengatasi kesalahan seperti itu, jika tidak, selalu disarankan untuk menyetel kata sandi yang kuat.