Ξεχάσατε τον κωδικό στο MySQL;





Ως web developers και programming funs, έχουμε συναντήσει (ίσως), πολλές καταστάσεις! Οι καταστάσεις βέβαια, διαφέρουν από περιπτώσεις που θα συναντήσεις σε ένα επαγγελματικό project από ένα προσωπικό, ίσως κατά τη διάρκεια που δουλεύουμε σε μία καινούργια τεχνολογία ή ιδέα! Στα αρκετά χρονάκια, που ασχολούμαι με το αντικείμενο, παρόλη τη θεωρητική μου εμπειρία σε αυτά τα συστήματα, όταν μαθαίνω κάτι καινούργιο ή προσπαθώ να επεκτείνω τις γνώσεις μου σε κάτι, καταλήγω και τρώω μέρες σε ηλίθια λάθη, που υποτίθεται ότι δεν έπρεπε να κάνω! Ωστόσο, όλοι κάνουμε ηλίθια λάθη και στην τελική είναι ηλίθιο το γεγονός ότι κρυβόμαστε πίσω από τη μάσκα του έμπειρου coder!
Είμαστε άνθρωποι, και δεν υπάρχουν τόσο ηλίθια λάθη, όσο ανόητοι άνθρωποι! Ένα τέτοιο λάθος θα επιχειρήσω να σας πω πως θα το διορθώσετε! Μια και μου συνέβη πολύ πρόσφατα! Βλέπετε κάνω πολλά πειράματα και πολλές φορές είμαι βιαστικός όταν περνάω settings, οπότε έτυχε να έχω ξεχάσει τον κωδικό root ενός MySQL!
Με λίγο σκέψη και λίγο googling οργάνωσα τη διαδικασία σε ένα cheat sheet ώστε να μην ξαναγίνει!
1) Κλείνουμε τον mysql server!
Αυτό εξαρτάται από το λειτουργικό σας και πόσους servers έχετε εγκατεστημένους! Ωστόσο θα υποθέσω ότι έχετε ένα, γιατί σε άλλη περίπτωση θα πρέπει να αναγνωρίσετε σε ποιον σερβερ θέλετε να κάνετε reset τον κωδικό root!
Στην περίπτωση windows αν έχετε wamp ή xampp, απλά πηγαίνετε στο panel και κλείνετε τον server είτε συγκεκριμένα τον mysql είτε γενικώς με το stop all services! Στην περίπτωση του custom! Είτε πρέπει ανοίξετε το cmd και αφού εμφανίσετε μία λίστα από τις ενεργές υπηρεσίες με το net start. Να βρείτε το όνομα της υπηρεσίας και να γράψετε net stop [όνομα υπηρεσίας]. Είτε μπορείτε να πλοηγηθείτε στο φάκελο που βρίσκετε το mysql.exe και να γράψετε mysqladmin -u root shutdown και θα κλείσει. Σημείωση: η έναρξη γίνεται πάλι ξεκινώντας την υπηρεσία με το net start [όνομα υπηρεσίας] είτε με το mysqld! Στην περίπτωση wamp, xampp μην επιχειρήσετε να χρησιμοποιήσετε την manual μέθοδο, θα σκαλώσει  με πιθανότητα 50/50!

Στη περίπτωση linux, ανοίγετε terminal και γράφετε: sudo /etc/init.d/mysql stop (απλό έτσι…)

2) Κάνουμε override τα δικαιώματα χρήστη (Υποθέτω ότι είστε με το cmd ή το τερματικό στο φάκελο του mysql.exe για ασφάλεια, το αν δουλέψει αλλού εξαρτάται τις ρυθμίσεις που έχετε περάσει και φυσικά πέρα από υποθέσεις, δεν ξέρω τι έχετε κάνει…)!
Γράφουμε:  mysqld_safe –skip-grant-tables

3) Συνδεόμαστε στον mysql server με default στοιχεία (χωρίς κωδικό!)
mysql – -user=root mysql

4) Ορίζουμε νέο κωδικό στον πίνακα mysql
update user set Password=PASSWORD(‘νέος κωδικός’) where user=root;

5)Κάνουμε ανανέωση τα δικαιώματα
flush privileges;

Σχόλια