12 Οκτ 2017

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

Πώς να κάνετε 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

Είμαστε έτοιμοι .

Σε περίπτωση που ξαναχάσετε τον κωδικό σας μπορείτε να επαναλάβετε τη διαδικασία . Ελπίζουμε όμως να μην ξαναχρειαστεί !