MySQL 4.1’de Şifre Karmaşıklaştırma ve Problemi

Mysql veritabanı’nda şifreler düz-metin (plaintext) olarak kaydedilmez. Karmaşık şifreler Mysql’deki PASSWORD() işlevi ile üretilirler. Mysql, şifreleri istemci/sunucu iletişiminde iki safhada kullanır:

  • İstemci sunucuya bağlanmak istediğinde sunucuda karmaşıklaştırılmış şekilde saklanan şifre ile eşleşecek bir şifre hazırlar.
  • Ardından şifreler eşleşirse İstemci sunucuya bağlanır ve Mysql’deki hesapların (eğer yetkileri uygunsa) şifrelerini oluşturabilir veya değiştirebilir.

Mysql 4.1 versiyonunda bu şifre karmaşıklaştırma mekanizması güncellendi. Mysql 4.1 ve üstü istemci ve sunucular birbirleriyle uyumludurlar. Bununla beraber 4.1 ve üstü istemciler de 4.1 öncesi sunuculara bağlanabilmeke fakat 4.1 öncesi istemciler 4.1 ve üstü sunuculara bağlanmakta problemler yaşamaktadır. Örneğin 4.0 bir istemci 5.0 bir sunucuya bağlanmak istediğinde aşağıdaki hatayı alabilir:

[code lang=”bash”]1251 – Client does not support authentication protocol requested by server; consider upgrading MySQL client[/code]

Bunu çözmek için mysql’e bağlandıktan sonra aşağıdaki komutla şifreler güncellenmelidir.

[code lang=”bash”] SET PASSWORD FOR ‘kullanici_adi’@’sunucu’ = OLD_PASSWORD(‘yeni_sifre’);[/code]

Leave a Reply

Your email address will not be published. Required fields are marked *