Ανάκτηση βάσης δεδομένων. Επαναφορά μεμονωμένων σελίδων σε μια βάση δεδομένων

Ανάγνωση, πώς να ανακτήσετε μια χαμένη ή διαγραμμένη βάση δεδομένων MySQL. Πώς να ανακτήσετε κατεστραμμένους πίνακες βάσης δεδομένων MySQL χρησιμοποιώντας το myisamchk. Η βάση δεδομένων MySQL εγκαθίσταται από προεπιλογή στον υπολογιστή σε έναν φάκελο στη μονάδα δίσκου C:

C:\Program Files\MySQL\MySQL Server 5.7

Αλλά τα δεδομένα του πίνακα αποθηκεύονται σε αρχεία σε έναν άλλο φάκελο στη μονάδα δίσκου C του υπολογιστή, αυτός είναι:

Η θέση αυτών των αρχείων υποδεικνύεται στο μενού Κατάσταση διακομιστή της εφαρμογής MySQL Workbench, στην ενότητα Κατάλογοι διακομιστή.

Αν χρειαστεί να επαναφέρετε πίνακες βάσεων δεδομένων, θα σας ενδιαφέρει ο φάκελος με τα δεδομένα μιας συγκεκριμένης βάσης δεδομένων και τα αρχεία που βρίσκονται σε αυτόν.

Περιεχόμενο:

Αρχεία βάσης δεδομένων MySQL

Η MySQL είναι συμβατή με μεγάλο αριθμό μορφών αρχείων, όπως: .sql, .arm, .cnf, .dbs, .ddl, .frm, .ibd, .ism, .mrg, .myd, .myi, .mysql, .opt, .phl, .sal, .sqr, .tmd, .arz, .ibz, .ibc, .qbquery, .rul. Αλλά αυτό το άρθρο δεν αφορά αυτό. Σήμερα μας ενδιαφέρουν ακριβώς εκείνα τα αρχεία στα οποία αποθηκεύονται πίνακες δεδομένων και βάσεων δεδομένων, με την επαναφορά των οποίων ο χρήστης θα μπορεί να επιστρέψει σημαντικές πληροφορίες και να αποφύγει την πιθανή απώλεια τους στο μέλλον.

Τα δεδομένα κάθε βάσης δεδομένων αποθηκεύονται σε φάκελο με το όνομά της και ανάλογα με τον τύπο του πίνακα αποθηκεύονται σε αρχεία με τις ακόλουθες επεκτάσεις:

  • db.opt– ένα αρχείο στο οποίο αποθηκεύονται τα χαρακτηριστικά της βάσης δεδομένων που καθορίστηκαν κατά τη δημιουργία της·
  • .frm– αρχείο δομής πίνακα.
  • .μυδ– ένα αρχείο στο οποίο αποθηκεύονται δεδομένα των πινάκων MyISAM.
  • .myi– ένα αρχείο στο οποίο αποθηκεύονται ευρετήρια των πινάκων MyISAM.
  • .ibd– ένα αρχείο στο οποίο αποθηκεύονται δεδομένα και ευρετήρια πινάκων InnoDB.

Πώς να επαναφέρετε μια βάση δεδομένων MySQL

Η επαναφορά μιας βάσης δεδομένων MySQL δεν είναι μια τεχνικά δύσκολη διαδικασία, αλλά εξαρτάται από πολλές συνθήκες. Για χρήστες MySQL Workbench υπάρχει μια λειτουργία ΕξαγωγήΚαι Εισαγωγή/Επαναφοράδεδομένα βάσης δεδομένων.


Επιπλέον, είναι δυνατό να δημιουργήσετε ένα αντίγραφο ασφαλείας και να επαναφέρετε μια βάση δεδομένων MySQL χρησιμοποιώντας mysqldump(το οποίο περιγράψαμε αναλυτικά σε ένα άρθρο μας).


Αλλά αυτές οι δυνατότητες σχετίζονται περισσότερο με τη δημιουργία αντιγράφων ασφαλείας δεδομένων MySQL χρησιμοποιώντας ενσωματωμένα εργαλεία. Οι πιο προχωρημένοι χρήστες ή όσοι δεν έχουν χρησιμοποιήσει έγκαιρα τη λειτουργία δημιουργίας αντιγράφων ασφαλείας δεδομένων βάσης δεδομένων MySQL θα ενδιαφέρονται επίσης για τη μέθοδο δημιουργίας αντιγράφων και μη αυτόματης επαναφοράς δεδομένων βάσης δεδομένων, αντικαθιστώντας τα αρχεία δομής και τα δεδομένα πίνακα που περιγράφονται παραπάνω:

  • Η δημιουργία αντιγράφου των δεδομένων πίνακα βάσης δεδομένων MySQL είναι δυνατή με την αντιγραφή αρχείων δομής και δεδομένων (*.opt, *.frm, *.myd, *.myi για MyIsam; *.opt, *.frm, *.ibd για InnoDB) και αποθηκεύοντάς τα σε άλλο φάκελο.
  • Η επαναφορά δεδομένων από πίνακες βάσεων δεδομένων MySQL είναι δυνατή με την αντικατάσταση των αρχείων δομής και δεδομένων που έχουν αντιγραφεί προηγουμένως στους φακέλους των υπαρχουσών βάσεων δεδομένων (στην περίπτωσή μας, αυτές είναι δύο βάσεις δεδομένων: my_db και my_db2).

Ανάκτηση μιας χαμένης ή διαγραμμένης βάσης δεδομένων MySQL

Έτσι, εάν για κάποιο λόγο διαγράψατε τη βάση δεδομένων MySQL, επανεγκαταστήσατε τα Windows ή μορφοποιήσατε τον σκληρό δίσκο, μπορείτε να την επαναφέρετε χρησιμοποιώντας τη μέθοδο που περιγράφεται παραπάνω, τοποθετώντας τα αρχεία βάσης δεδομένων που αντιγράφηκαν προηγουμένως στο φάκελο με το όνομα της βάσης δεδομένων:

C:\ProgramData\MySQL\MySQL Server 5.7\Data

Εάν ο χρήστης δεν έχει δημιουργήσει ένα αντίγραφο των αρχείων της βάσης δεδομένων εκ των προτέρων, μπορεί να γίνει επαναφορά τους χρησιμοποιώντας και στη συνέχεια να μεταφερθεί στον επιθυμητό φάκελο χρησιμοποιώντας τη μέθοδο που περιγράφεται παραπάνω.

Για αυτό:


Ανάκτηση κατεστραμμένων πινάκων βάσης δεδομένων MySQL χρησιμοποιώντας το myisamchk

Οι πίνακες βάσης δεδομένων MyISAM MySQL μπορεί να καταστραφούν ως αποτέλεσμα απροσδόκητης διακοπής της διαδικασίας εγγραφής ή τερματισμού λειτουργίας του υπολογιστή, αποτυχίες ή αποτυχίες υλικού ή λογισμικού ή εάν επιχειρήσετε να κάνετε εντοπισμό σφαλμάτων χρησιμοποιώντας myisamchkπίνακα που χρησιμοποιείται από τον διακομιστή.

Ως αποτέλεσμα καταστροφής, τα δεδομένα ενδέχεται να εξαφανιστούν από τον πίνακα ή να εμφανίζονται εσφαλμένα, αλλά τις περισσότερες φορές, ως αποτέλεσμα καταστροφής πίνακα, οι χρήστες αντιμετωπίζουν το ακόλουθο σφάλμα: "Εσφαλμένο αρχείο κλειδιού για τον πίνακα: "table_name". Προσπάθησε να το επισκευάσεις"

Για να επαναφέρετε κατεστραμμένους πίνακες MyISAM, μπορείτε να χρησιμοποιήσετε την εντολή myisamchk.

Myisamchkλειτουργεί με εντοπισμό σφαλμάτων και δημιουργία αντιγράφου του αρχείου .myd και, στη συνέχεια, αντικατάσταση του κατεστραμμένου αρχείου με αυτό. Επομένως, πριν χρησιμοποιήσετε αυτήν την εντολή, είναι καλύτερα να δημιουργήσετε πρώτα ένα αντίγραφο ασφαλείας του αρχείου πίνακα που θέλετε να επαναφέρετε.

Έτσι, για να επαναφέρετε έναν κατεστραμμένο πίνακα, χρησιμοποιήστε την εντολή:

myisamchk -r -q TABLE_NAME

Οπου, -r -q– Αυτή είναι μια λειτουργία γρήγορης ανάκτησης. Σε αυτήν την περίπτωση, το αρχείο ευρετηρίου θα διορθωθεί χωρίς αλλαγή του αρχείου δεδομένων. Εάν το αρχείο δεδομένων περιέχει όλα όσα χρειάζονται και οι σύνδεσμοι που αφαιρέθηκαν δείχνουν τις σωστές θέσεις στο αρχείο δεδομένων, τότε αυτή η εντολή θα διορθώσει τον πίνακα.

Εάν η προηγούμενη εντολή δεν δίνει το επιθυμητό αποτέλεσμα, τότε δημιουργήστε ένα αντίγραφο ασφαλείας του αρχείου δεδομένων και εκτελέστε την εντολή:

myisamchk -r TABLE_NAME

Οπου, -r- είναι απλώς λειτουργία ανάκτησης. Σε αυτήν την περίπτωση, οι εσφαλμένες και χαμένες καταχωρήσεις θα διαγραφούν από το αρχείο δεδομένων και το αρχείο ευρετηρίου θα δημιουργηθεί εκ νέου (όπως περιγράφεται παραπάνω).

Σημείωση. Εάν σκοπεύετε να εντοπίσετε σφάλματα και να επαναφέρετε έναν πίνακα από τη γραμμή εντολών, πρέπει πρώτα να σταματήσετε τον διακομιστή. Θα πρέπει να σημειωθεί ότι όταν εκτελείται ο τερματισμός λειτουργίας mysqladmin από έναν απομακρυσμένο διακομιστή, το mysqld θα συνεχίσει να εκτελείται για λίγο μετά το κλείσιμο του mysqladmin έως ότου διακοπούν όλα τα ερωτήματα και όλα τα κλειδιά περάσουν στο δίσκο.

Θα μοιραστώ την εμπειρία μου σχετικά με τον τρόπο επαναφοράς της βάσης δεδομένων ενός ιστότοπου (DB) από ένα αντίγραφο ασφαλείας μέσω του phpMyAdmin στη φιλοξενία σας.

Αυτό το πράγμα μπορεί να μην είναι ποτέ χρήσιμο για εσάς, αλλά για κάθε ενδεχόμενο, θα πρέπει να καταλάβετε πώς να ενεργήσετε σε μια κρίσιμη κατάσταση. Όπως λένε: «Προετοιμάστε το έλκηθρο σας το καλοκαίρι...».

Αξίζει να αναφέρουμε ότι οι ίδιοι οι hosters μπορούν να επαναφέρουν την ιστοσελίδα σας από ένα αντίγραφο ασφαλείας δωρεάν εάν χρησιμοποιείτε τις υπηρεσίες μιας καλής εταιρείας φιλοξενίας. Εάν η κατάσταση είναι τέτοια που δεν υπάρχει κανείς να βοηθήσει, τότε διαβάστε.

Πώς να επαναφέρετε μια βάση δεδομένων από ένα αντίγραφο ασφαλείας

Σε αυτό το σημείο, έχετε ήδη ένα αντίγραφο ασφαλείας της βάσης δεδομένων στον υπολογιστή σας. Το μόνο που απομένει είναι να το ανεβάσετε στην τρέχουσα βάση δεδομένων με μια αντικατάσταση, ώστε ο ιστότοπος να αρχίσει να λειτουργεί ξανά ή να ισχύσουν οι αλλαγές που κάνατε σε έναν τοπικό ιστότοπο ή σε άλλο ιστότοπο. Για να το κάνετε αυτό, πρέπει να μπείτε στο phpMyAdmin στη φιλοξενία σας. Θα σας δείξω με το παράδειγμά μου (θα είναι παρόμοιο με άλλα στο λειτουργικό μέρος).

Το ίδιο το phpMyAdmin θα φαίνεται παρόμοιο για εσάς, ίσως με μικρές διαφορές.

  • στρέφομαι σε ακ. ενότητα - επάνω δεξιά γωνία της προηγούμενης εικόνας MYSQL
  • Απέναντι από την απαιτούμενη βάση δεδομένων (αν δεν έχετε μία, αλλά πολλές), κάντε κλικ στην επιγραφή phpMyAdmin (εικόνα παρακάτω)

Αυτή η σελίδα θα ανοίξει μπροστά σας, όπου πρέπει να κάνετε κλικ στο όνομα της βάσης δεδομένων σας:

Τώρα θα έχετε την ευκαιρία να επαναφέρετε τον ιστότοπο από ένα αντίγραφο ασφαλείας. Κάντε κλικ στην "Εισαγωγή" στον επάνω πίνακα:

Από προεπιλογή, όλοι οι ιστότοποι WordPress είναι κωδικοποιημένοι σε UTF-8, επομένως δεν χρειάζεται να αγγίξετε αυτήν τη ρύθμιση. Εάν ο ιστότοπός σας έχει διαφορετική κωδικοποίηση, επιλέξτε την κατάλληλη από την αναπτυσσόμενη λίστα. Τα υπόλοιπα τα αφήνουμε όπως είναι στη σελίδα.

Αφού κάνετε κλικ στο OK, θα ξεκινήσει η διαδικασία ανάκτησης του ιστότοπου. Αυτό μπορεί να διαρκέσει μερικά δευτερόλεπτα ή λεπτά, ανάλογα με το μέγεθος της βάσης δεδομένων.

Εάν προκύψουν προβλήματα με την ανάκτηση κατά τη διάρκεια της διαδικασίας, ένα αντίστοιχο μήνυμα που περιγράφει το σφάλμα θα εμφανιστεί στην κορυφή της σελίδας. Εδώ θα πρέπει να απευθυνθείτε στον οικοδεσπότη για βοήθεια, γιατί... τα σφάλματα συμβαίνουν συχνότερα λόγω των ρυθμίσεων διακομιστή (αυτό δεν περιλαμβάνει την περίπτωση που το ίδιο το αντίγραφο ασφαλείας της βάσης δεδομένων σας έχει καταστραφεί).

Από την εμπειρία μου, θα πω ότι τις περισσότερες φορές ένα σφάλμα κατά την επαναφορά μιας βάσης δεδομένων προκύπτει λόγω του μεγέθους της ίδιας της βάσης δεδομένων, όταν ο διακομιστής δεν μπορεί να επεξεργαστεί σωστά το αντίγραφο ασφαλείας. Σε αυτή την περίπτωση, υπάρχουν 2 τρόποι εξόδου:

  • Αποσυσκευάστε το αρχείο από τη βάση δεδομένων έτσι ώστε να λάβετε μόνο ένα αρχείο .sql ή αντίστροφα να το συσκευάσετε (ανάλογα με την περίπτωση).
  • Επικοινωνήστε με την τεχνική υποστήριξη του οικοδεσπότη για βοήθεια.

Σε ένα από τα παρακάτω άρθρα θα σας πω τι να κάνετε εάν ο οικοδεσπότης σας δεν έχει πρόσβαση στο phpMyAdmin για έναν κανονικό χρήστη. Αντιμετώπισα μια παρόμοια κατάσταση αρκετές φορές. Η λύση είναι αρκετά απλή.

Οι προγραμματιστές και οι διαχειριστές του Microsoft SQL Server συχνά το χρειάζονται επαναφέρετε μια βάση δεδομένων από ένα αρχείο(backup), για παράδειγμα, για να δημιουργήσετε ένα αντίγραφο της βάσης δεδομένων που θα χρησιμοποιηθεί για τη δοκιμή της εφαρμογής, ή για παράδειγμα, έχετε επανεγκαταστήσει το λειτουργικό σύστημα και πρέπει να επαναφέρετε τη βάση δεδομένων, αυτό θα κάνουμε σήμερα.

Σε αυτό το άρθρο θα εξετάσουμε την ανάκτηση βάσης δεδομένων χρησιμοποιώντας ένα DBMS ως παράδειγμα. Microsoft SQL Server 2000. Για να επαναφέρετε μια βάση δεδομένων, πρέπει να έχετε ένα αρχείο αυτής της βάσης δεδομένων. Δημιουργείται με την επέκταση *.dat. Συνιστώ σε όλους να δημιουργήσουν αρχεία των βάσεων δεδομένων τους και τα καθημερινά, αν συμβεί κάτι, θα έχετε πάντα ένα αρχείο για επαναφορά.

Περιγραφή της διαδικασίας επαναφοράς μιας βάσης δεδομένων από το Backup

Ας ξεκινήσουμε, ανοίξτε το Enterprise Manager, επιλέξτε τη βάση δεδομένων που θέλετε να επαναφέρετε ή εάν έχετε μόλις εγκαταστήσει το DBMS και δεν υπάρχουν ακόμη βάσεις δεδομένων εκεί, τότε απλώς δημιουργήστε μια βάση δεδομένων και επαναφέρετέ την από το αρχείο. Ανοίξτε το μενού" Εργαλεία->Επαναφορά βάσης δεδομένων"και θα ανοίξει το παρακάτω παράθυρο:

επιλέξτε " Από συσκευή"και κάντε κλικ" Επιλέξτε Συσκευές».

(πανό φόρτωσης 3

Κάντε κλικ στο OK και στο " Επιλέξτε Επαναφορά βάσης δεδομένων» κάντε επίσης κλικ στο OK. Και στο κεντρικό παράθυρο " Επαναφορά βάσης δεδομένων"Μην βιαστείτε να κάνετε κλικ στο OK ακόμα, μεταβείτε στην καρτέλα " Επιλογές» και επιλέξτε το πλαίσιο όπως στην εικόνα.

Επίσης εδώ, ορίστε τη διαδρομή για τα αρχεία της βάσης δεδομένων, καθώς μπορεί να είναι λανθασμένη και μπορείτε να αντικαταστήσετε, για παράδειγμα, μια υπάρχουσα βάση δεδομένων εάν δημιουργήσετε ένα αντίγραφο της βάσης δεδομένων, αλλά αν έχετε μόλις εγκαταστήσει τα πάντα (DBMS), τότε δεν χρειάζεται να το αλλάξεις.

Αυτό είναι όλο, μετά από αυτό μπορείτε να κάνετε κλικ στο OK. Μετά από κάποιο χρονικό διάστημα, η βάση δεδομένων θα αποκατασταθεί και μπορείτε να τη χρησιμοποιήσετε.

Παρεμπιπτόντως, αν κάποιος ενδιαφέρεται για τη γλώσσα T-SQL ( είναι μια επέκταση της γλώσσας SQL στον Microsoft SQL Server), τότε μπορώ να προτείνω το βιβλίο " Το μονοπάτι του προγραμματιστή T-SQL. Εκμάθηση γλώσσας Transact-SQL", αφού διαβάσετε το οποίο θα μπορείτε να προγραμματίσετε εύκολα σε T-SQL.

Πρέπει να μάθετε πώς να επαναφέρετε δεδομένα από ένα αντίγραφο ασφαλείας. Η επαναφορά μπορεί να είναι απαραίτητη σε περίπτωση βλάβης υλικού ή εάν είναι απαραίτητο να δημιουργηθεί ένα απολύτως πανομοιότυπο αντίγραφο της υπάρχουσας βάσης δεδομένων σε άλλο διακομιστή.

Θυμηθείτε, εάν επαναφέρετε μια βάση δεδομένων χρησιμοποιώντας το Simple Recovery Model, θα χρειαστεί να επαναφέρετε μόνο το πιο πρόσφατο πλήρες αντίγραφο. Εάν χρησιμοποιείτε το μοντέλο πλήρους ή μαζικής ανάκτησης, πρέπει να επαναφέρετε το πλήρες αντίγραφο, μετά το πιο πρόσφατο διαφορικό αντίγραφο και όλα τα αντίγραφα καταγραφής συναλλαγών. Ας μελετήσουμε τις διαδικασίες ανάκτησης με περισσότερες λεπτομέρειες.

Επαναφορά μιας βάσης δεδομένων από ένα πλήρες αντίγραφο.

Ανεξάρτητα από το μοντέλο ανάκτησης, το πρώτο βήμα είναι πάντα να επαναφέρετε το πιο πρόσφατο πλήρες αντίγραφο ασφαλείας. Για να επαναφέρετε μια βάση δεδομένων στο Enterprise Manager, θα πρέπει να επιλέξετε τη βάση δεδομένων, να κάνετε διπλό κλικ πάνω της με το δεξί κουμπί του ποντικιού και να επιλέξετε «Όλες οι εργασίες > Επαναφορά βάσης δεδομένων» από το μενού περιβάλλοντος, μετά το οποίο θα ανοίξει το πλαίσιο διαλόγου που φαίνεται στην Εικόνα Α.

Εικόνα Α.

Το πλαίσιο διαλόγου Επαναφορά βάσης δεδομένων σάς επιτρέπει να προβάλλετε όλα τα πρόσφατα αντίγραφα ασφαλείας με χρονολογική σειρά. Εκεί μπορείτε να επιλέξετε τη βάση δεδομένων που θέλετε να επαναφέρετε. Στην καρτέλα Επιλογές που εμφανίζεται στην Εικόνα Β, μπορείτε να ορίσετε τις ακόλουθες επιλογές:

  • Εξαγωγή κασετών μετά την επαναφορά κάθε αντιγράφου ασφαλείας (ξεφορτώνετε την ταινία μετά από κάθε αποκατάσταση)
  • Ερώτηση για την επαναφορά κάθε αντιγράφου (εκδώστε μια πρόσθετη προειδοποίηση πριν ξεκινήσετε την επαναφορά κάθε αντιγράφου)
  • Αναγκαστική επαναφορά μέσω υπάρχουσας βάσης δεδομένων (επαναφορά σε υπάρχουσα βάση δεδομένων), αυτή η επιλογή ισοδυναμεί με Μετακίνηση σε T-SQL.

Εικόνα Β

Στο κάτω μέρος του παραθύρου υπάρχουν τρεις διακόπτες που σας επιτρέπουν να προσδιορίσετε την κατάσταση της βάσης δεδομένων μετά την επαναφορά του αντιγράφου:

  • Αφήστε τη βάση δεδομένων να λειτουργεί. Δεν είναι δυνατή η επαναφορά πρόσθετων αρχείων καταγραφής συναλλαγών.
    • Εάν επιλέξετε αυτήν την τιμή, μετά τη λήψη του αντιγράφου ασφαλείας, θα ξεκινήσει η διαδικασία επαναφοράς, η οποία θα επαναφέρει όλες τις εκκρεμείς συναλλαγές. Δεν θα είναι πλέον δυνατή η λήψη επιπλέον αντιγράφων του αρχείου καταγραφής συναλλαγών. Οι χρήστες θα μπορούν να εργάζονται κανονικά με τη βάση δεδομένων.
  • Αφήστε τη βάση δεδομένων να μην λειτουργεί αλλά με δυνατότητα επαναφοράς πρόσθετων αρχείων καταγραφής συναλλαγών.
    • Μόλις γίνει λήψη του αντιγράφου, η βάση δεδομένων θα παραμείνει προσωρινά μη διαθέσιμη. Θα χρειαστεί να κάνετε λήψη επιπλέον αντιγράφων και στη συνέχεια να ξεκινήσετε τη διαδικασία ανάκτησης.
  • Αφήστε τη βάση δεδομένων μόνο για ανάγνωση και δυνατότητα επαναφοράς πρόσθετων αρχείων καταγραφής συναλλαγών.
    • Η βάση δεδομένων γίνεται μόνο για ανάγνωση. Μπορείτε να κατεβάσετε επιπλέον αντίγραφα ασφαλείας του αρχείου καταγραφής συναλλαγών. Αυτή η επιλογή χρησιμοποιείται για τη δημιουργία ενός διακομιστή αναμονής

Για να επαναφέρετε τη βάση δεδομένων και τα αρχεία καταγραφής συναλλαγών, πρέπει απλώς να κάνετε κλικ στο OK.

Ανάκτηση βάσης δεδομένων με χρήση T-SQL.

Η ανάκτηση βάσης δεδομένων μπορεί επίσης να πραγματοποιηθεί χρησιμοποιώντας την T-SQL, η οποία προσφέρει περισσότερες επιλογές από το Enterprise Manager. Η σύνταξη για τη χρήση της εντολής T-SQL είναι η εξής:

    ΕΠΑΝΑΦΟΡΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ( όνομα βάσης δεδομένων | @ database_name_var }
    [ ΑΠΟ< backup_device > [ , ...n ] ]
    [ΜΕ
    [RESTRICTED_USER]
    [ [ , ] ΑΡΧΕΙΟ = { αριθμός φακέλου | @ αριθμός φακέλου } ]
    [ [ , ] ΚΩΔΙΚΟΣ ΠΡΟΣΒΑΣΗΣ = { Κωδικός πρόσβασης | @ κωδικός_μεταβλητής } ]
    [ [ , ]MEDIANAME = { όνομα_μέσου | @ όνομα_μέσο_μεταβλητή } ]
    [ [ , ]ΣΥΝΔΕΣΜΟΣ ΜΕΣΟΥ = { κωδικό πρόσβασης μέσων | @ mediapassword_variable } ]
    [ [ , ] ΚΙΝΗΣΗ " λογικό_όνομα_αρχείου" ΠΡΟΣ ΤΗΝ " Όνομα_αρχείου_λειτουργικού_συστήματος" ]
    [ , ...n ]
    [ [ , ] KEEP_REPLICATION ]
    [ [ , ] ( NORECOVERY | RECOVERY | STANDBY = undo_file_name } ]
    [ [ , ] ( NOREWIND | REWIND ) ]
    [ [ , ] ( NOUNLOAD | UNLOAD ) ]
    [ [ , ] ΑΝΤΙΚΑΤΑΣΤΑΣΗ ]
    [ [ , ] ΕΠΑΝΕΚΚΙΝΗΣΗ ]
    [ [ , ] ΣΤΑΤΙΣΤΙΚΑ [ = ποσοστό ] ]

Για μια λεπτομερή ματιά σε κάθε επιλογή, διαβάστε την περιγραφή στο SQL Server 2000 Books Online.

Το σχήμα Γ δείχνει την επαναφορά της βάσης δεδομένων Pubs από ένα πλήρες αντίγραφο από μια συσκευή δημιουργίας αντιγράφων ασφαλείας.

Εικόνα Γ.

Επαναφορά βάσης δεδομένων από διαφορικό αντίγραφο.

Εάν χρησιμοποιείτε το μοντέλο πλήρους ή μαζικής ανάκτησης, πρέπει πρώτα να επαναφέρετε το πλήρες αντίγραφο ασφαλείας και, στη συνέχεια, το πιο πρόσφατο αντίγραφο ασφαλείας διαφορικού και όλα τα αρχεία καταγραφής συναλλαγών. Για να εκτελέσετε μια επαναφορά βάσης δεδομένων χρησιμοποιώντας ένα διαφορικό αντίγραφο, στο Enterprise Manager πρέπει να επιλέξετε τη βάση δεδομένων, να κάνετε διπλό κλικ σε αυτήν με το δεξί κουμπί του ποντικιού και να επιλέξετε "Όλες οι εργασίες > Επαναφορά βάσης δεδομένων" από το μενού περιβάλλοντος, επιλέξτε επαναφορά πλήρους και διαφορικού αντίγραφο της βάσης δεδομένων και, στη συνέχεια, κάντε κλικ στο OK. (Εικόνα Δ)

Εικόνα Δ

Η σύνταξη της εντολής Restore για την εκτέλεση επαναφοράς με χρήση διαφορικών αντιγράφων φαίνεται στο Σχήμα Ε.

Εικόνα Ε.

Ανάκτηση αρχείου καταγραφής συναλλαγών.

Πριν ξεκινήσετε την επαναφορά του αρχείου καταγραφής συναλλαγών, πρέπει να επαναφέρετε το πλήρες και πιο πρόσφατο διαφορικό αντίγραφο της βάσης δεδομένων. Στη συνέχεια, μπορείτε να επαναφέρετε τα αρχεία καταγραφής συναλλαγών με την κατάλληλη σειρά. Εάν χρησιμοποιείτε το Enterprise Manager, πρέπει να επιλέξετε τη βάση δεδομένων, να κάνετε διπλό κλικ σε αυτήν με το δεξί κουμπί του ποντικιού και να επιλέξετε «Όλες οι εργασίες > Επαναφορά βάσης δεδομένων» στο μενού περιβάλλοντος, να επιλέξετε όλα τα απαραίτητα αντίγραφα και, εάν είναι απαραίτητο, το Σημείο στην επιλογή Time Restore (επαναφορά σε συγκεκριμένο χρονικό σημείο) (Εικόνα F).

Εικόνα ΣΤ.

Η σύνταξη εντολής Restore για την επαναφορά ενός αρχείου καταγραφής συναλλαγών φαίνεται στο Σχήμα Ζ.

Εικόνα G.

Ας συνοψίσουμε. Η δημιουργία αντιγράφων ασφαλείας και η ανάκτηση βάσης δεδομένων είναι μία από τις βασικές, πιο σημαντικές εργασίες ενός διαχειριστή βάσης δεδομένων. Ανά πάσα στιγμή, πρέπει να είστε σίγουροι για την ικανότητά σας να ανακτήσετε τη βάση δεδομένων του SQL Server 2000 σύμφωνα με το σχέδιο αποκατάστασης καταστροφής. Εάν δεν έχετε σχέδιο αποκατάστασης από καταστροφή, συνιστώ να ξεκινήσετε να εργάζεστε σε ένα. Αν συμβεί κάτι και χαθούν τα δεδομένα, η επόμενη απώλεια για εσάς μπορεί να είναι η απώλεια της δουλειάς σας.

Από τον συγγραφέα:καλησπέρα αγαπητοί μου. Σου συνέβη κάτι; Πέταξες ξανά λάθος βάση δεδομένων; Λοιπόν, δεν είναι μοιραίο αν γνωρίζετε τα πάντα για την ανάκτηση MySQL. Τώρα θα σας πούμε όλες τις περιπλοκές αυτού του τελετουργικού. Αυτό θέλει ντέφι, μπούγκερ από τη μύτη μιας ασπροουράς φώκιας... Είναι αστείο! Και όλα τα σοβαρά σχετικά με αυτό το θέμα θα παρουσιαστούν περαιτέρω.

Το πένθος μπορεί να διορθωθεί εάν διαγραφεί η βάση δεδομένων

Δεν υπάρχει πουθενά στο Διαδίκτυο χωρίς βάσεις δεδομένων και συστήματα διαχείρισης βάσεων δεδομένων (DBMS). Τα περισσότερα σύγχρονα CMS και οι οικιακές μηχανές στις οποίες αναπτύσσονται ιστότοποι χρησιμοποιούν MySQL. Ως εκ τούτου, μπορεί να ονομαστεί με ασφάλεια ένα σύστημα διαχείρισης βάσεων δεδομένων «όλα το Διαδίκτυο».

Σε αυτό το άρθρο θα εξετάσουμε όλους τους κύριους τρόπους ανάκτησης χαμένων πληροφοριών. Καθώς γράφουμε το υλικό, θα «κερδίζουμε δυναμική» και θα ξεκινήσουμε με τις πιο απλές μεθόδους και προς το τέλος θα θίξουμε πιο σύνθετες. Θα προσπαθήσουμε να επεξηγήσουμε καθεμία από τις εξεταζόμενες μεθόδους με πρακτικά παραδείγματα. Όσον αφορά τη σύνταξη του ερωτήματος, δεν θα σταθούμε αναλυτικά στην περιγραφή των παραμέτρων κάθε εντολής. Ευτυχώς, υπάρχουν περισσότερες από αρκετές από αυτές τις πληροφορίες αναφοράς στο Διαδίκτυο.

Μέθοδος γρήγορης αποκατάστασης

Τις περισσότερες φορές, η εργασία με μια βάση δεδομένων στο Διαδίκτυο πραγματοποιείται μέσω του phpMyAdmin, που είναι η διεπαφή ιστού για αυτό το DBMS. Για να επαναφέρετε μια βάση δεδομένων MySQL με μη αυτόματο τρόπο:

Συνδεθείτε στο phpMyAdmin και επιλέξτε την επιθυμητή βάση δεδομένων.

Μεταβείτε στην καρτέλα "Εισαγωγή", η οποία βρίσκεται στο κύριο μενού της κορυφής.

Στην ενότητα "Εισαγόμενο αρχείο", επιλέξτε την πηγή του αντιγράφου ασφαλείας της επιθυμητής βάσης δεδομένων.

Κάντε κλικ στο κουμπί "Ok".

Μετά από αυτό, αντί για την τρέχουσα έκδοση της βάσης δεδομένων, θα φορτωθεί η προηγουμένως αποθηκευμένη. Αξίζει να σημειωθεί ότι αυτή η διεπαφή ιστού δεν είναι κατάλληλη για τη δημιουργία αντιγράφων ασφαλείας μεγάλων ποσοτήτων δεδομένων, καθώς το μέγιστο υποστηριζόμενο μέγεθος της ληφθείσας βάσης δεδομένων είναι μόνο 2 MB.

Το phpMyAdmin δεν υλοποιεί τη λειτουργία αυτόματης δημιουργίας αντιγράφων ασφαλείας, αλλά μόνο χειροκίνητα. Η όλη διαδικασία κράτησης πραγματοποιείται μέσω της καρτέλας «Εξαγωγή». Εδώ μπορείτε να ορίσετε τη μορφή αντιγραφής, την έξοδο και τη μέθοδο εξαγωγής.

Εργασία μέσω MySQLdump

Το MySQLdump είναι μια διαδικτυακή εφαρμογή από την πλευρά του διακομιστή. Έχει σχεδιαστεί για να επαναφέρει τις βάσεις δεδομένων MySQL από αντίγραφα ασφαλείας που δημιουργήθηκαν χρησιμοποιώντας την εφαρμογή. Για να μην παρασυρθούμε πολύ, θα δείξουμε τη δημιουργία ενός απλού αντιγράφου ασφαλείας και την επαναφορά μιας βάσης δεδομένων από αυτό. Ως πλατφόρμα για το πείραμα, χρησιμοποιούμε τον πιο δημοφιλή τοπικό διακομιστή Runet, τον Denwer.

Πρώτα πρέπει να κατεβάσετε το MySQLdump και να το τοποθετήσετε στην ακόλουθη διεύθυνση: F:\Webserver\usr\local\mysql-5.5\bin

Το MySQLdump είναι μια εφαρμογή κονσόλας, επομένως όλες οι επόμενες εργασίες μαζί του θα πραγματοποιούνται μέσω της γραμμής εντολών (cmd.exe). Τώρα βήμα βήμα:

Ας ξεκινήσουμε το Denwer.

Μέσω της γραμμής εντολών, μεταβείτε στον εικονικό δίσκο (στο παράδειγμα, αυτή είναι η μονάδα Z).

Πηγαίνουμε στο φάκελο όπου βρίσκεται το MySQLdump.

Μετά από αυτό, ξεκινάμε το βοηθητικό πρόγραμμα για εκτέλεση. Πριν επαναφέρουμε τη βάση δεδομένων MySQL, για παράδειγμα, ας δημιουργήσουμε ένα αντίγραφο ασφαλείας της βάσης δεδομένων my_db1 στον φάκελο bin και ας ονομάσουμε το αντίγραφο ασφαλείας "db1". Για αυτό χρησιμοποιούμε την εντολή mysqldump.

Τώρα ας επαναφέρουμε μια άλλη βάση δεδομένων από το δημιουργημένο αντίγραφο (db1). Για να το κάνουμε αυτό χρησιμοποιούμε την εντολή mysql.

Παράδειγμα κώδικα για τη χρήση και των δύο εντολών:

C:\Users\home>Z: Z:\>cd usr\local\mysql-5.5\bin Z:\usr\local\mysql-5.5\bin>mysqldump -uroot my_db1>db1.sql Z:\usr\local \mysql-5.5\bin>mysql -uroot db2

C:\Users\home>Z:

Z:\>cd usr\local\mysql - 5.5\bin

Z:\usr\local\mysql-5.5\bin>mysqldump -uroot my_db1>db1. sql

Z:\usr\local\mysql - 5.5\bin > mysql - uroot db2< db1 . sql

Αν κοιτάξετε λίγο πιο προσεκτικά τον κώδικα, θα παρατηρήσετε ότι και οι δύο εντολές έχουν κοινή σύνταξη. Το μόνο που τους διακρίνει είναι τα ονόματα των πηγών δεδομένων και των αντιγράφων. Και επίσης ένα σημάδι της κατεύθυνσης της κίνησης δεδομένων ("<», «>»).

uroot είναι το όνομα χρήστη. Υποδεικνύεται αμέσως μετά την παράμετρο u (χωρίς κενό). Επιπλέον, η σύνταξη εντολών περιλαμβάνει αρκετές ακόμη παραμέτρους. Μεταξύ αυτών: κωδικός πρόσβασης, διεύθυνση απομακρυσμένου κεντρικού υπολογιστή. Χρησιμοποιώντας την εντολή mysqldump, μπορείτε να εξαγάγετε τη βάση δεδομένων σε διάφορες μορφές και να συμπιέσετε δεδομένα. Αυτός είναι επίσης ένας αποδεδειγμένος τρόπος επαναφοράς ενός πίνακα MySQL.

Το βοηθητικό πρόγραμμα MySQLdump (χρησιμοποιώντας την εντολή με το ίδιο όνομα) σας επιτρέπει να εξάγετε βάσεις δεδομένων σε απλή μορφή κειμένου (.txt). Και δεδομένου ότι το κείμενο έχει υψηλό βαθμό συμπίεσης, αυτός είναι ένας αποτελεσματικός τρόπος για να μειώσετε τον όγκο των αντιγράφων ασφαλείας σε μια κατάσταση όπου υπάρχει "σπανιότητα" χώρου διακομιστή.

Τι άλλο μπορεί να γίνει

Εκτός από τις δύο κύριες μεθόδους που συζητήθηκαν παραπάνω, μπορείτε να χρησιμοποιήσετε πολλά ακόμη βοηθητικά προγράμματα κονσόλας για την ανάκτηση δεδομένων MySQL:

Κονσόλα MySQL

Mysqlbinlog – για τη δημιουργία αντιγράφων ασφαλείας, το πρόγραμμα εισάγει δεδομένα από δυαδικά αρχεία καταγραφής διακομιστή. Καταγράφουν όλα τα αιτήματα χρήστη και συστήματος (σε δυαδικό κώδικα), μετά την εκτέλεση των οποίων άλλαξαν τα δεδομένα της βάσης δεδομένων.

Επίσης, έχουν αναπτυχθεί πολλά εξειδικευμένα πρόσθετα για δημοφιλή CMS. Για παράδειγμα, για το WordPress:

Διατήρηση αντιγράφων ασφαλείας καθημερινά.

UpdraftPlus Backup and Restoration.

Τέλειο ταμπλό.

Όπως μπορείτε να δείτε, η επαναφορά της MySQL δεν είναι τόσο αδύνατο έργο. Όλες οι χαμένες βάσεις δεδομένων και πίνακες μπορούν να «επιστραφούν» στη θέση τους. Σε αυτήν την περίπτωση, χρησιμοποιούνται τόσο «χειροκίνητα» εργαλεία όσο και εξειδικευμένες επεκτάσεις για το CMS. Το μόνο που έχετε να κάνετε είναι να επιλέξετε την καταλληλότερη λύση. Για μια βαθύτερη κατανόηση του τρόπου λειτουργίας της βάσης δεδομένων MySQL, σας συνιστώ να περάσετε από τη δική μας.



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: