
Πώς να κάνετε reset το root password της MySQL ή της MariaDB

Ξεχάσατε τον root κωδικό της MariaDB ή της MySQL ; Κανένα πρόβλημα . Μαζί θα δούμε πώς γίνεται να τον κάνετε reset! Η παρακάτω διαδικασία όμως προυποθέτει ότι έχετε πρόσβαση στον server και σε έναν λογαριασμό χρήστη με sudo δικαιώματα . Ας δούμε τα βήματα που πρέπει να ακολουθήσετε :
1.Βρίσκουμε την version της ΜySQL(ή MariaDB)
Όποιο από τα τα 2 προγράμματα και να χρησιμοποιείται , η εντολή για να δούμε ποια version έχουμε εγκατεστημένη είναι η ίδια :
mysql --version
Θα δούμε αυτή την έξοδο αν έχουμε MySQL :
mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper
ή αυτή αν έχουμε MariaDB
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
Σημειώνουμε ποια version έχουμε , γιατί θα την χρειαστούμε αργότερα .
2. Σταματάμε τον Server της βάσης δεδομένων
Πριν κάνουμε reset τον κωδικό , ο server της βάσης πρέπει να σταματήσει να λειτουργεί . Αυτο θα γίνει με την εντολή :
sudo systemctl stopmysql
ή με αυτή για MariaDB
sudo systemctl stop mariadb
3.Κάνουμε restart τον Server της βάσης χωρίς έλεγχο στοιχείων
Θα εκτελέσουμε τις εντολές :
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
Ο πίνακας grant-tables κρατάει τα στοιχεία με τα προνόμια των χρηστών . 'Ετσι θα τον κάνουμε skip ώστε να έχουμε root προνόμια χωρίς να βάλουμε κάποιον κωδικό . Επίσης για λόγους ασφαλείας θα κάνουμε skip και το networking , για να μην έχουμε κάποια ανεπιθύμητη σύνδεση από τρίτο , μέχρι να αλλάξουμε τον κωδικό .
4.Αλλαγή του κωδικού
Τώρα που έχουμε συνδεθέι στον server της βάσης με root προνόμια , θα φορτώσουμε τον πίνακα grant-tables
FLUSH PRIVILEGES;
Για τις version MySQL 5.7.6 η νεότερη και MariaDB 10.1.20 ή νεότερη θα χρησιμοποιήσουμε την εντολή :
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Ενώ για παλιότερες εκδόσεις θα χρησιμοποιήσουμε αυτή την εντολή :
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
Μόλις εκτελέσουμε μια απο τις δύο εντολές , θα λάβουμε επιβεβαίωση ότι ο κωδικός έχει αλλάξει .
5. Κάνουμε restart τον server της βάσης (κανονικά αυτή τη φορά )
Για αρχή θέλουμε να κλείσουμε το συγκεκριμένο session της MySQL :
sudo kill `cat /var/run/mysqld/mysqld.pid`
Ενώ για την MariaDB :
sudo kill `/var/run/mariadb/mariadb.pid`
'Έπειτα ξαναφορτώνουμε τον server :
sudo systemctl start mysql
ή
sudo systemctl start mariadb
Τώρα μπορούμε να επιβεβαιώσουμε ότι ο κωδικός μας άλλαξε γράφοντας :
mysql -u root -p
Είμαστε έτοιμοι .
Σε περίπτωση που ξαναχάσετε τον κωδικό σας μπορείτε να επαναλάβετε τη διαδικασία . Ελπίζουμε όμως να μην ξαναχρειαστεί !