Linux'ta "MySQL HATA 1819 (HY000):" Nasıl Düzeltilir


Göreceli olarak zayıf bir şifreye sahip bir MySQL kullanıcısı oluştururken, 'MySQL ERROR 1819 (HY000): Şifreniz mevcut politika gereksinimlerini karşılamıyor' hatasıyla karşılaşabilirsiniz. Teknik olarak bu bir hata değil, önerilen şifre politikası gereksinimlerini karşılamayan bir şifre kullandığınıza dair bir bildirimdir.

Başka bir deyişle, kolayca tahmin edilebilecek veya kaba kuvvet uygulanabilecek zayıf bir şifre kullanıyorsunuz. Yerleşik güvenlik mekanizması, kullanıcıların veritabanınızı ihlallere açık hale getirebilecek zayıf parolalar oluşturmasını engeller.

Örneğin, gösterildiği gibi bir kullanıcı oluştururken hatayla karşılaştım

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

Parolanın son derece zayıf olması ve güvenlik riski oluşturabilmesi hiç de akıllıca değil.

Linux'ta MySQL HATA 1819 (HY000) Nasıl Çözülür

MySQL veritabanı, etkinleştirildiğinde bir şifre doğrulama politikası uygulayan bir validate_password eklentisiyle birlikte gelir. Eklenti tarafından uygulanan 3 düzey şifre doğrulama politikası vardır.

  • DÜŞÜK: Kullanıcıların 8 veya daha az karakterden oluşan bir şifre belirlemesine olanak tanır.
  • ORTA: Kullanıcıların, karışık büyük/küçük harf ve özel karakterler içeren 8 veya daha az karakterden oluşan bir şifre belirlemesine olanak tanır.
  • GÜÇLÜ: Kullanıcıların, bir sözlük dosyası da dahil olmak üzere orta düzey bir şifrenin tüm özelliklerine sahip bir şifre belirlemesine olanak tanır.

Varsayılan olarak şifre politikası ORTA olarak ayarlanmıştır. Aşağıdaki komutu yürüterek şifre politikası düzeyini onaylayabilirsiniz:

SHOW VARIABLES LIKE 'validate_password%';

Komutu çalıştırırsanız ve çıktıyı boş set olarak alırsanız, eklenti henüz etkinleştirilmemiştir.

validate_password eklentisini etkinleştirmek için aşağıdaki komutları çalıştırın.

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

Eklentinin etkinleştirildiğini onaylamak için komutu çalıştırın.

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

Aşağıda gösterilen çıktıyı almalısınız:

Sorunu çözmek için şifre doğrulama ilkesini en düşük düzeye ayarlamanız gerekir. Bunun mantığa aykırı geldiğinin farkındayım çünkü zayıf şifreler belirlemek için bir yol oluşturuyor ve sonuçta veritabanınızın bilgisayar korsanları tarafından ele geçirilmesine neden olabiliyor.

Ancak yine de istediğiniz gibi davranmak konusunda ısrarcıysanız, şunları yapabilirsiniz.

MySQL Şifre Doğrulama Politikası Nasıl Değiştirilir

MySQL ERROR 1819 (HY000) hatasını çözmek için gösterildiği gibi daha düşük bir şifre doğrulama politikası ayarlayın.

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

Daha sonra şifre doğrulama ilkesi düzeyini onaylayabilirsiniz.

SHOW VARIABLES LIKE 'validate_password%';

Artık devam edebilir ve isteğinize göre nispeten zayıf bir şifre atayabilirsiniz.

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

'ORTA' şifre politikası düzeyine geri dönmek için şu komutu çağırmanız yeterlidir:

mysql> SET GLOBAL validate_password_policy=MEDIUM;
Çözüm

Kişisel olarak, bariz nedenlerden dolayı daha düşük seviyeli bir şifre politikası belirlemenizi tavsiye etmem. İster normal bir kullanıcı ister bir veritabanı kullanıcısı olsun, her zaman büyük harf, küçük harf, sayısal ve özel karakterlerin karışımından oluşan 8'den fazla karakterden oluşan güçlü bir MySQL şifresi ayarlamanız önerilir.

Bu kılavuz, böyle bir hatanın nasıl giderileceğini bilmek isteyenler için hazırlanmıştır, aksi takdirde her zaman güçlü bir şifre belirlemeniz önerilir.