Ως αρχάριος στη MySQL, μπορεί να συναντήσεις ένα μήνυμα σφάλματος που λέει "ERROR 1819 (HY000): Your password does not satisfy the current policy requirements." Αυτό το σφάλμα δεν είναι bug, αλλά ένα ενσωματωμένο χαρακτηριστικό ασφαλείας της MySQL που διασφαλίζει ότι οι χρήστες ορίζουν ισχυρούς κωδικούς. Αυτό το tutorial θα σε καθοδηγήσει στην κατανόηση αυτού του σφάλματος και στο πώς να το διορθώσεις.

Τι Προκαλεί το Σφάλμα;

Κατά τον ορισμό ενός κωδικού για τον root χρήστη της MySQL, μπορεί να σου ζητηθεί να ενεργοποιήσεις το VALIDATE PASSWORD component. Αν ενεργοποιηθεί, αυτό το component ελέγχει την ισχύ του κωδικού που παρέχεις.

Για παράδειγμα, αν προσπαθήσεις να δημιουργήσεις έναν χρήστη με αδύναμο κωδικό:

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

Θα δεις το σφάλμα:

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

Κατανόηση της Πολιτικής Επικύρωσης Κωδικών

Η MySQL επιβάλλει τρία επίπεδα πολιτικής επικύρωσης κωδικών:

  1. LOW: Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες.
  2. MEDIUM: Τουλάχιστον 8 χαρακτήρες, να περιλαμβάνει αριθμούς, μικτά κεφαλαία/πεζά και ειδικούς χαρακτήρες.
  3. STRONG: Τουλάχιστον 8 χαρακτήρες, αριθμούς, μικτά κεφαλαία/πεζά, ειδικούς χαρακτήρες και dictionary file.

Για να βρεις το τρέχον επίπεδο πολιτικής κωδικών:

mysql> SHOW VARIABLES LIKE 'validate_password%';

Πώς να Διορθώσεις το Σφάλμα

1. Άλλαξε τον Κωδικό για να Πληροί την Πολιτική

Για παράδειγμα, αν η πολιτική είναι Medium, όρισε έναν κωδικό όπως 'Password123#@!' που περιλαμβάνει αριθμό, πεζά, κεφαλαία και ειδικούς χαρακτήρες.

2. Άλλαξε την Πολιτική Επικύρωσης Κωδικών

mysql> SET GLOBAL validate_password.policy=LOW;

Για επαναφορά στο MEDIUM:

mysql> SET GLOBAL validate_password.policy=MEDIUM;

Συμπέρασμα

Σε αυτό το tutorial, καλύψαμε το κοινό σφάλμα MySQL 1819 και πώς να το διορθώσεις. Ωστόσο, πάντα συνιστάται η χρήση ισχυρού κωδικού για καλύτερη ασφάλεια.