Building Dynamic Web Apps with Laravel by Eric Ouyang
Πίνακας περιεχομένων:
- Σύνταξη εντολών Mysqldump
- Δημιουργία αντιγράφων ασφαλείας μιας ενιαίας βάσης δεδομένων MySQL
- Δημιουργία αντιγράφων ασφαλείας πολλαπλών βάσεων δεδομένων MySQL
- Δημιουργία αντιγράφων ασφαλείας όλων των βάσεων δεδομένων MySQL
- Δημιουργήστε αντίγραφα ασφαλείας όλων των βάσεων δεδομένων MySQL για να διαχωρίσετε αρχεία
- Δημιουργήστε μια συμπιεσμένη βάση δεδομένων MySQL Backup
- Δημιουργήστε ένα αντίγραφο ασφαλείας με χρονική σήμανση
- Επαναφορά μνήμης MySQL
- Επαναφέρετε μια ενιαία βάση δεδομένων MySQL από μια πλήρη βάση δεδομένων MySQL
- Εξαγωγή και εισαγωγή βάσης δεδομένων MySQL σε μία εντολή
- Αυτοματοποιήστε τα αντίγραφα ασφαλείας με το Cron
- συμπέρασμα
Αυτό το σεμινάριο εξηγεί πώς μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας και να επαναφέρετε βάσεις δεδομένων MySQL ή MariaDB από τη γραμμή εντολών χρησιμοποιώντας το βοηθητικό πρόγραμμα mysqldump.
Τα αρχεία αντιγράφων ασφαλείας που δημιουργούνται από το βοηθητικό πρόγραμμα mysqldump είναι βασικά ένα σύνολο εντολών SQL που μπορούν να χρησιμοποιηθούν για την αναδημιουργία της αρχικής βάσης δεδομένων. Η εντολή mysqldump μπορεί επίσης να δημιουργήσει αρχεία σε μορφή CSV και XML.
Μπορείτε επίσης να χρησιμοποιήσετε το βοηθητικό πρόγραμμα mysqldump για να μεταφέρετε τη βάση δεδομένων MySQL σε άλλο διακομιστή MySQL.
Σύνταξη εντολών Mysqldump
Πριν πάτε στον τρόπο χρήσης της εντολής mysqldump, ας αρχίσουμε αναθεωρώντας τη βασική σύνταξη.
Οι εκφράσεις χρησιμότητας mysqldump λαμβάνουν την ακόλουθη μορφή:
mysqldump > file.sql
-
options
- Οι επιλογές mysqldumpfile.sql
- Το αρχείο σφαλμάτων (backup)
Για να χρησιμοποιήσετε την εντολή mysqldump, ο διακομιστής MySQL πρέπει να είναι προσβάσιμος και να εκτελείται.
Δημιουργία αντιγράφων ασφαλείας μιας ενιαίας βάσης δεδομένων MySQL
Η πιο κοινή περίπτωση χρήσης του εργαλείου mysqldump είναι η δημιουργία αντιγράφων ασφαλείας μιας ενιαίας βάσης δεδομένων.
Για παράδειγμα, για να δημιουργήσετε ένα αντίγραφο ασφαλείας της βάσης δεδομένων που ονομάζεται
database_name
χρησιμοποιώντας τον
root
και να το αποθηκεύσετε σε ένα αρχείο με όνομα
database_name.sql
θα εκτελέσετε την ακόλουθη εντολή:
mysqldump -u root -p database_name > database_name.sql
Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης ρίζας. Μετά την επιτυχή επαλήθευση της ταυτότητας, θα ξεκινήσει η διαδικασία απόρριψης. Ανάλογα με το μέγεθος της βάσης δεδομένων, η διαδικασία μπορεί να διαρκέσει λίγο.
mysqldump database_name > database_name.sql
Δημιουργία αντιγράφων ασφαλείας πολλαπλών βάσεων δεδομένων MySQL
Για να δημιουργήσετε αντίγραφα ασφαλείας πολλαπλών βάσεων δεδομένων MySQL με μία εντολή, πρέπει να χρησιμοποιήσετε την επιλογή
--database
που ακολουθείται από τη λίστα των βάσεων δεδομένων που θέλετε να δημιουργήσετε αντίγραφα ασφαλείας. Κάθε όνομα βάσης δεδομένων πρέπει να διαχωρίζεται από το διάστημα.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
Η παραπάνω εντολή δημιουργεί ένα αρχείο ένδειξης σφαλμάτων που περιέχει και τις δύο βάσεις δεδομένων.
Δημιουργία αντιγράφων ασφαλείας όλων των βάσεων δεδομένων MySQL
Χρησιμοποιήστε την επιλογή
--all-databases
για να δημιουργήσετε αντίγραφα ασφαλείας όλων των βάσεων δεδομένων MySQL:
mysqldump -u root -p --all-databases > all_databases.sql
Όπως και με το προηγούμενο παράδειγμα, η παραπάνω εντολή θα δημιουργήσει ένα μόνο αρχείο σφαλμάτων που θα περιλαμβάνει όλες τις βάσεις δεδομένων.
Δημιουργήστε αντίγραφα ασφαλείας όλων των βάσεων δεδομένων MySQL για να διαχωρίσετε αρχεία
Το βοηθητικό πρόγραμμα
mysqldump
δεν παρέχει τη δυνατότητα δημιουργίας αντιγράφων ασφαλείας όλων των βάσεων δεδομένων σε ξεχωριστά αρχεία, αλλά το επιτυγχάνουμε εύκολα με ένα απλό βρόχο FORh:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
Η παραπάνω εντολή θα δημιουργήσει ένα χωριστό αρχείο ένδειξης σφαλμάτων για κάθε βάση δεδομένων χρησιμοποιώντας το όνομα της βάσης δεδομένων ως όνομα αρχείου.
Δημιουργήστε μια συμπιεσμένη βάση δεδομένων MySQL Backup
Εάν το μέγεθος της βάσης δεδομένων είναι πολύ μεγάλο, είναι καλή ιδέα να συμπιέσετε την έξοδο. Για να το κάνετε αυτό απλά διοχετεύστε την έξοδο στο βοηθητικό πρόγραμμα
gzip
και ανακατευθύνετε το σε ένα αρχείο όπως φαίνεται παρακάτω:
mysqldump database_name | gzip > database_name.sql.gz
Δημιουργήστε ένα αντίγραφο ασφαλείας με χρονική σήμανση
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Η παραπάνω εντολή θα δημιουργήσει ένα αρχείο με την ακόλουθη μορφή
database_name-20180617.sql
Επαναφορά μνήμης MySQL
Μπορείτε να επαναφέρετε μια απόρριψη MySQL χρησιμοποιώντας το εργαλείο
mysql
. Η γενική σύνταξη της εντολής έχει ως εξής:
mysqld database_name < file.sql
Στις περισσότερες περιπτώσεις θα χρειαστεί να δημιουργήσετε μια βάση δεδομένων για εισαγωγή σε. Εάν η βάση δεδομένων υπάρχει ήδη, πρώτα πρέπει να τη διαγράψετε.
Στο ακόλουθο παράδειγμα, η πρώτη εντολή θα δημιουργήσει μια βάση δεδομένων με όνομα
database_name
και στη συνέχεια θα εισάγει το dump
database_name.sql
σε αυτό:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
Επαναφέρετε μια ενιαία βάση δεδομένων MySQL από μια πλήρη βάση δεδομένων MySQL
mysql --one-database database_name < all_databases.sql
Εξαγωγή και εισαγωγή βάσης δεδομένων MySQL σε μία εντολή
Αντί να δημιουργήσετε ένα αρχείο ένδειξης σφαλμάτων από μια βάση δεδομένων και, στη συνέχεια, να εισαγάγετε το αντίγραφο ασφαλείας σε μια άλλη βάση δεδομένων MySQL, μπορείτε να χρησιμοποιήσετε την ακόλουθη διαμόρφωση μιας γραμμής:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
Η παραπάνω εντολή θα διοχετεύσει την έξοδο σε πελάτη mysql στον απομακρυσμένο κεντρικό υπολογιστή και θα την εισαγάγει σε μια βάση δεδομένων που ονομάζεται
remote_database_name
. Πριν εκτελέσετε την εντολή, βεβαιωθείτε ότι η βάση δεδομένων υπάρχει ήδη στον απομακρυσμένο διακομιστή.
Αυτοματοποιήστε τα αντίγραφα ασφαλείας με το Cron
Η αυτοματοποίηση της διαδικασίας δημιουργίας αντιγράφων ασφαλείας των βάσεων δεδομένων είναι τόσο απλή όσο και η δημιουργία μιας εργασίας cron, η οποία θα εκτελέσει την εντολή mysqldump σε καθορισμένη ώρα.
Για να ρυθμίσετε τα αυτοματοποιημένα αντίγραφα ασφαλείας μιας βάσης δεδομένων MySQL χρησιμοποιώντας το cronjob, ακολουθήστε τα παρακάτω βήματα:
-
Δημιουργήστε ένα αρχείο με όνομα
.my.cnf
στον οικείο κατάλογο χρηστών:sudo nano ~/.my.cnf
Αντιγράψτε και επικολλήστε το ακόλουθο κείμενο στο αρχείο.my.cnf.
user = dbuser password = dbpasswd
Μην ξεχάσετε να αντικαταστήσετε το
dbuser
και τοdbpasswd
με τον κωδικό πρόσβασης του χρήστη και του χρήστη.Περιορίστε τα δικαιώματα του αρχείου διαπιστευτηρίων, ώστε μόνο ο χρήστης να έχει πρόσβαση σε αυτό:
chmod 600 ~/.my.cnf
Δημιουργήστε έναν κατάλογο για να αποθηκεύσετε τα αντίγραφα ασφαλείας:
mkdir ~/db_backups
Ανοίξτε το αρχείο crontab του χρήστη:
crontab -e
Προσθέστε την ακόλουθη εργασία cron που θα δημιουργήσει ένα αντίγραφο ασφαλείας ενός ονόματος βάσης δεδομένων
mydb
κάθε μέρα στις 3mydb
.:0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql
Μην ξεχάσετε να αντικαταστήσετε το
username
με το πραγματικό σας όνομα χρήστη.
Μπορείτε επίσης να δημιουργήσετε ένα άλλο cronjob για να διαγράψετε όλα τα αντίγραφα ασφαλείας που είναι παλαιότερα από 30 ημέρες:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Φυσικά, θα πρέπει να προσαρμόσετε την εντολή ανάλογα με την τοποθεσία αντιγράφων ασφαλείας και τα ονόματα των αρχείων σας. Για να μάθετε περισσότερα σχετικά με την εντολή εύρεσης, ανατρέξτε στο θέμα Πώς να βρείτε αρχεία στο Linux χρησιμοποιώντας τον οδηγό γραμμής εντολών.
συμπέρασμα
Αυτό το σεμινάριο καλύπτει μόνο τα βασικά, αλλά θα πρέπει να ξεκινάει καλά για όποιον θέλει να μάθει πώς να δημιουργεί και να επαναφέρει βάσεις δεδομένων MySQL από τη γραμμή εντολών χρησιμοποιώντας το βοηθητικό πρόγραμμα mysqldump.
Μπορείτε επίσης να ελέγξετε το σεμινάριο σχετικά με τον τρόπο επαναφοράς ενός κωδικού πρόσβασης root της MySQL σε περίπτωση που το έχετε ξεχάσει.
mysql mariadb backup mysqldumpΠώς να προσθέσετε, να δημιουργήσετε αντίγραφα ασφαλείας και να επαναφέρετε τα διαπιστευτήρια χρήστη χρησιμοποιώντας το Windows Vault
Τα Windows 7 σάς επιτρέπουν να αποθηκεύσετε τα διαπιστευτήρια σύνδεσης για να συνδεθείτε σε διάφορους διακομιστές, ιστότοπους ή προγράμματα. Αυτά είναι αρκετά εύχρηστα και αποθηκεύονται σε ηλεκτρονική θήκη που ονομάζεται Windows Vault.
Πώς να δημιουργήσετε αντίγραφα ασφαλείας και να επαναφέρετε το προφίλ του Firefox χρησιμοποιώντας το febe
Μάθετε πώς μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας και να επαναφέρετε το προφίλ Firefox χρησιμοποιώντας το FEBE
Πώς να δημιουργήσετε αντίγραφα ασφαλείας και να επαναφέρετε τις επαφές του skype
Αυτός ο οδηγός δείχνει πώς μπορείτε εύκολα να δημιουργήσετε αντίγραφα ασφαλείας, να επαναφέρετε τις επαφές Skype και να τα μεταφέρετε επίσης σε ένα νέο αναγνωριστικό Skype.