Σήμερα η MySQL είναι μια από τις πιο δημοφιλείς λύσεις μεταξύ των μικρομεσαίων συστημάτων διαχείρισης βάσεων δεδομένων. Ένα από τα πλεονεκτήματα της MySQL είναι η ικανότητα εργασίας με πίνακες διαφορετικών τύπων. Ένα από αυτά είναι το MyISAM. Τέτοιοι πίνακες είναι ιδανικοί για την αποθήκευση δεδομένων που ζητούνται συχνά, αλλά εάν αποτύχουν κατά τη διαδικασία τροποποίησης, μπορούν εύκολα να υποστούν βλάβη. Επομένως, υπάρχουν πολλές περιπτώσεις όταν πρέπει να επαναφέρετε έναν πίνακα τύπου MyISAM.
Απαραίτητη
- - διαπιστευτήρια ρίζας στο μηχάνημα προορισμού.
- - εγκατεστημένο πακέτο βοηθητικών προγραμμάτων διαχείρισης διακομιστή MySQL.
Οδηγίες
Βήμα 1
Ξεκινήστε μια περίοδο λειτουργίας με τα διαπιστευτήρια του ριζικού χρήστη σε έναν υπολογιστή με έναν λειτουργικό διακομιστή MySQL που εκτελεί μια βάση δεδομένων που πιστεύεται ότι έχει καταστρέψει πίνακες. Εάν μπορείτε να εργαστείτε απευθείας με τον υπολογιστή προορισμού, συνδεθείτε σε μια κονσόλα κειμένου ή εκτελέστε έναν εξομοιωτή τερματικού ως root. Εάν έχετε απομακρυσμένη πρόσβαση SSH, χρησιμοποιήστε ένα κατάλληλο πρόγραμμα πελάτη για να πραγματοποιήσετε τη σύνδεση.
Βήμα 2
Διακοπή του διακομιστή βάσης δεδομένων MySQL στο μηχάνημα προορισμού. Εκτελέστε την εντολή διακοπής υπηρεσίας mysqld. Περιμένετε να ολοκληρωθεί η διαδικασία τερματισμού (αυτό θα υποδεικνύεται από ένα διαγνωστικό μήνυμα).
Βήμα 3
Δημιουργήστε ένα αντίγραφο ασφαλείας των αρχείων πίνακα βάσης δεδομένων, το οποίο θα χρησιμοποιηθεί για περαιτέρω εργασίες. Σε αυτήν την περίπτωση, είναι βολικό να χρησιμοποιείτε τον διαχειριστή αρχείων. Μεταβείτε στο φάκελο που περιέχει τα αρχεία πίνακα. Έχει ένα όνομα πανομοιότυπο με το όνομα της βάσης δεδομένων και βρίσκεται στον κατάλογο db, ο οποίος βρίσκεται στον ριζικό κατάλογο του διακομιστή (αντιμετωπίζεται από τη μεταβλητή chroot του αρχείου ρυθμίσεων my.cnf). Αντιγράψτε όλα τα αρχεία με επεκτάσεις MYD και MYI από τον τρέχοντα φάκελο σε κάποιο προσωρινό κατάλογο.
Βήμα 4
Ελέγξτε έναν ή περισσότερους πίνακες βάσης δεδομένων για ζημιές. Στον τρέχοντα κατάλογο, εκτελέστε την εντολή myisamchk με την επιλογή -c (ή καθόλου επιλογές) για κανονική σάρωση. Χρησιμοποιήστε την επιλογή -m για προσεκτική δοκιμή και την επιλογή -e για επιπλέον προσεκτική δοκιμή. Ως τελευταία παράμετρος, καθορίστε το όνομα ή τη μάσκα των ονομάτων των αρχείων προς επεξεργασία. Για παράδειγμα: myisamchk -c test_table. MYImyisamchk *. MYI
Βήμα 5
Ανακτήστε τον πίνακα ή τους πίνακες όπου εντοπίστηκε η ζημιά. Εκτελέστε την εντολή myisamchk με την επιλογή -r για κανονική ανάκτηση ή την επιλογή -o για ήπια ανάκτηση. Ως τελευταία παράμετρος, όπως στο προηγούμενο βήμα, περάστε το όνομα ή τη μάσκα ονόματος των πινάκων προορισμού. Για παράδειγμα: myisamchk -o test_table. MYI
Βήμα 6
Ξεκινήστε το διακομιστή MySQL. Εκτελέστε την εντολή υπηρεσίας mysqld start.
Βήμα 7
Τερματίστε τη συνεδρία σας. Εισαγάγετε την έξοδο εντολής και πατήστε Enter.