Πώς να δημιουργήσετε αντίγραφα ασφαλείας και να επαναφέρετε βάσεις δεδομένων MySQL/MariaDB στο Linux


Αυτό το άρθρο σας δείχνει πολλά πρακτικά παραδείγματα σχετικά με τον τρόπο εκτέλεσης διαφόρων λειτουργιών δημιουργίας αντιγράφων ασφαλείας των βάσεων δεδομένων MySQL/MariaDB χρησιμοποιώντας την εντολή mysqldump και επίσης θα δούμε πώς να τις επαναφέρετε με τη βοήθεια Εντολές mysql και mysqlimport στο Linux.

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

Υποθέτουμε ότι έχετε ήδη εγκαταστήσει το MySQL στο σύστημα Linux με δικαιώματα διαχειριστή και πιστεύουμε ότι έχετε ήδη μια μικρή γνώση του MySQL .

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

  • Πώς να εγκαταστήσετε τη MySQL σε διανομές που βασίζονται σε RHEL
  • Πώς να εγκαταστήσετε τη MySQL σε Rocky Linux και AlmaLinux
  • Πώς να εγκαταστήσετε το MySQL στο Ubuntu Linux
  • Πώς να εγκαταστήσετε τη MySQL στο Debian
  • 20 εντολές MySQL (Mysqladmin) για διαχείριση βάσεων δεδομένων στο Linux
  • 12 Βέλτιστες πρακτικές ασφάλειας MySQL/MariaDB για Linux

Πώς να δημιουργήσετε αντίγραφα ασφαλείας της βάσης δεδομένων MySQL στο Linux;

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

mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

Οι παράμετροι της εν λόγω εντολής είναι οι εξής.

  • [όνομα χρήστη] : Ένα έγκυρο όνομα χρήστη MySQL.
  • [κωδικός πρόσβασης] : Ένας έγκυρος κωδικός πρόσβασης MySQL για τον χρήστη.
  • [όνομα_βάσης δεδομένων] : Ένα έγκυρο όνομα βάσης δεδομένων για το οποίο θέλετε να δημιουργήσετε αντίγραφο ασφαλείας.
  • [dump_file.sql]: Το όνομα του αρχείου ένδειξης αντιγράφου ασφαλείας που θέλετε να δημιουργήσετε.

Πώς να δημιουργήσετε αντίγραφα ασφαλείας μιας ενιαίας βάσης δεδομένων MySQL;

Για να δημιουργήσετε αντίγραφο ασφαλείας μιας μεμονωμένης βάσης δεδομένων, χρησιμοποιήστε την εντολή ως εξής. Η εντολή θα απορρίψει τη δομή της βάσης δεδομένων [rsyslog] με δεδομένα σε ένα ενιαίο αρχείο ένδειξης που ονομάζεται rsyslog.sql.

mysqldump -u root -ptecmint rsyslog > rsyslog.sql

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

Εάν θέλετε να δημιουργήσετε αντίγραφα ασφαλείας πολλών βάσεων δεδομένων, εκτελέστε την ακόλουθη εντολή. Το ακόλουθο παράδειγμα εντολής λαμβάνει ένα αντίγραφο ασφαλείας της δομής και των δεδομένων βάσεων δεδομένων [rsyslog, syslog] σε ένα μόνο αρχείο που ονομάζεται rsyslog_syslog.sql.

mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

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

Εάν θέλετε να δημιουργήσετε αντίγραφο ασφαλείας όλων των βάσεων δεδομένων, χρησιμοποιήστε την ακόλουθη εντολή με την επιλογή –όλες οι βάσεις δεδομένων. Η ακόλουθη εντολή παίρνει το αντίγραφο ασφαλείας όλων των βάσεων δεδομένων με τη δομή και τα δεδομένα τους σε ένα αρχείο που ονομάζεται all-databases.sql.

mysqldump -u root -ptecmint --all-databases > all-databases.sql

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

Εάν θέλετε μόνο το αντίγραφο ασφαλείας της δομής της βάσης δεδομένων χωρίς δεδομένα, χρησιμοποιήστε την επιλογή –no-data στην εντολή. Η παρακάτω εντολή εξάγει τη βάση δεδομένων [rsyslog] Structure σε ένα αρχείο rsyslog_structure.sql.

mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

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

Για να δημιουργήσετε αντίγραφα ασφαλείας δεδομένων χωρίς δομή χρησιμοποιήστε την επιλογή –no-create-info με την εντολή. Αυτή η εντολή μεταφέρει τη βάση δεδομένων [rsyslog] Δεδομένα σε ένα αρχείο rsyslog_data.sql.

mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

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

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

mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

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

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

mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

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

Η παρακάτω εντολή μεταφέρει το αντίγραφο ασφαλείας του απομακρυσμένου διακομιστή [172.16.25.126] βάσης δεδομένων [gallery] σε έναν τοπικό διακομιστή.

mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

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

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

# mysql -u [username] –p[password] [database_name] < [dump_file.sql]

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

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

mysql -u root -ptecmint rsyslog < rsyslog.sql

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

mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

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