Οδηγός βήμα προς βήμα για να μάθετε πώς να ανακτάτε τον κωδικό πρόσβασης root ενός διακομιστή SQL.
Το πιο σημαντικό χρήστης ενός διακομιστή MySQL είναι σίγουρα ο χρήστης"root". Αυτός ο χρήστης τα έχει όλα διοικητικά προνόμια για βάσεις δεδομένων (MySQL databases).
Σε περίπτωση που δεν γνωρίζετε πλέον ποιος είναι ο κωδικός χρήστη root MySQL, θα χρειαστεί να ακολουθήσετε μερικά απλά βήματα για να επαναφέρετε αυτόν τον κωδικό πρόσβασης.
Το σεμινάριο είναι φτιαγμένο για διακομιστή MySQL εγκατεστημένο στο λειτουργικό σύστημα CentOS, αλλά η διαδικασία είναι η ίδια για άλλες διανομές Linux.
Πώς να ανακτήσετε τον κωδικό πρόσβασης για τον χρήστη root ενός διακομιστή SQL
Για να ανακτήσετε τον κωδικό πρόσβασης για τον χρήστη root ενός διακομιστή SQL, η απλούστερη μέθοδος είναι με SSH (Secure Shell).
1. Συνδεόμαστε με τον χρήστη "root” στο σύστημα στο οποίο βρίσκεται ο διακομιστής MySQL. (ο ριζικός χρήστης του συστήματος, όχι του διακομιστή MySQL). Συνδεθείτε απευθείας από την κονσόλα ή απομακρυσμένα μέσω σύνδεσης ssh (Με στόκος από τα συστήματα Windows).
2. Διακοπή της διαδικασίας / MySQL.
service mysqld stop
ή
/etc/init.d/mysqld stop
Το αποτέλεσμα θα είναι:
Stopping MySQL: [ OK ]
3. Ξεκινάμε τον διακομιστή MySQL με την επιλογή "--skip-grant-tables
". Εκκίνηση διακομιστή MySQL/daemon διαδικασία χωρίς κωδικό πρόσβασης.
mysqld_safe --skip-grant-tables &
Η έξοδος μετά την παραπάνω γραμμή εντολών:
[1] 3041
[root@server ~]# Starting mysqld daemon with databases from /var/lib/mysql
4. Συνδεόμαστε στον διακομιστή mysql με τον χρήστη "root", χρησιμοποιώντας την εντολή:
mysql -u root
Η έξοδος:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
5. Επιλέξτε τη βάση δεδομένων mysql και ορίστε τον νέο κωδικό πρόσβασης για τον χρήστη "root".
use mysql;
update user set password=PASSWORD("New_Password") where User='root';
flush privileges;
quit
Αποτελέσματα από τις παραπάνω εντολές:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=PASSWORD("123456") where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
[root@server ~]#
6. Σταματάμε και επανεκκινούμε την υπηρεσία / διακομιστή MySQL
service mysqld stop
service mysqld start
Αποτέλεσμα:
Starting MySQL: [ OK ]
Η παρακάτω εικόνα δείχνει τα πάντα διαδικασία επαναφοράς του κωδικού πρόσβασης του χρήστη "root” του διακομιστή MySQL.
Τώρα μπορούμε να συνδεθείτε με MySQL (από phpMyAdmin π.χ.) με τον χρήστη "root", χρησιμοποιώντας τον νέο κωδικό πρόσβασης που ορίστηκε παραπάνω.
Tutorial δοκιμαστεί CentOS 5.6 με MySQL Ver 14.12 Distrib 5.0.77, για redhat-linux-gnu (i686) χρησιμοποιώντας τη γραμμή ανάγνωσης 5.1.