Δημιουργία αντιγράφων ασφαλείας και διαχείριση βάσεων δεδομένων MySQL από τις γραμμές εντολών
Οι βάσεις δεδομένων MySQL παίζουν αναπόσπαστο ρόλο σε πολλά συστήματα υπολογιστών, ειδικά όταν πρόκειται για υπηρεσίες φιλοξενίας ιστοσελίδων και υπηρεσίες διαδικτύου. Με όλα αυτά τα πολύτιμα δεδομένα που ανατίθενται στη βάση δεδομένων, είναι απαραίτητο να δημιουργηθούν αντίγραφα ασφαλείας και είναι σημαντικό να γνωρίζουμε πώς να διαχειρίζεται τον διακομιστή βάσης δεδομένων. Η MySQL περιλαμβάνει δύο ισχυρά εργαλεία για αυτά τα καθήκοντα: "mysqldump" και "mysqladmin." Όπως υποδηλώνουν τα ονόματά τους, το πρώτο είναι για αντίγραφα ασφαλείας και το άλλο για διαχείριση. Η κυριαρχία αυτών των δύο εντολών είναι υψίστης σημασίας εάν θέλετε να γίνετε ικανός διαχειριστής της MySQL.
Δημιουργία αντιγράφων ασφαλείας
Η εντολή mysqldump
δημιουργεί ένα αρχείο δηλώσεων SQL που όταν εκτελείται θα δημιουργήσει τους ίδιους πίνακες και δεδομένα που υπάρχουν στη βάση δεδομένων. Μπορεί να χρησιμοποιηθεί ως μέθοδος δημιουργίας αντιγράφων ασφαλείας ή ως εύκολος τρόπος αντιγραφής μιας βάσης δεδομένων από ένα διακομιστή σε άλλο. Μπορεί επίσης να δημιουργήσει έξοδο ως τιμές διαχωρισμένες με κόμματα (CSV) ή ακόμα και σε XML. Δεδομένου ότι η προκύπτουσα έξοδος είναι ένα αρχείο κειμένου των δηλώσεων SQL, οι διαχειριστές έχουν την ευελιξία προβολής και τροποποίησης του αρχείου ένδειξης σφαλμάτων.
Για να καταργήσετε έναν μόνο πίνακα σε μια βάση δεδομένων, χρησιμοποιήστε το mysqldump ως εξής:
mysqldump -u root -p testdb όνομα πίνακα
Όταν το "testdb" είναι το όνομα της βάσης δεδομένων και το "tablename" είναι το όνομα του πίνακα που θέλετε να πετάξετε. Η επιλογή "-u" καθορίζει ποιο χρήστη MySQL θα χρησιμοποιήσει κατά τη διάρκεια της απόρριψης και το "-p" λέει στο mysqldump να πάρει τον κωδικό διαδραστικά (δηλ. Θα πρέπει να πληκτρολογήσετε τον κωδικό πρόσβασης όταν σας ζητηθεί). Ο χρήστης πρέπει να έχει πρόσβαση ανάγνωσης στη βάση δεδομένων που απορρίπτεται (τεχνικά ο χρήστης χρειάζεται τα δικαιώματα SELECT, SHOW VIEW, TRIGGER και LOCK TABLES). Ο χρήστης "root" κανονικά διαμορφώνεται (μαζί με έναν κωδικό πρόσβασης) κατά τη διάρκεια της εγκατάστασης του MySQL server.
Η έξοδος θα σταλεί απευθείας στην κονσόλα. Για να στείλετε την έξοδο σε ένα αρχείο και να καθορίσετε τον κωδικό πρόσβασης στη γραμμή εντολών (χρήσιμη για δέσμες αντιγράφων ασφαλείας), στη συνέχεια χρησιμοποιήστε:
mysqldump -u root --password = 'μυστικό' testdb tablename> testdb_table_backup.sql
Όπου "μυστικό" είναι ο κωδικός πρόσβασης για τη ρίζα του χρήστη και το όνομα του πίνακα είναι το όνομα του πίνακα που θέλετε να δημιουργήσετε αντίγραφο ασφαλείας. Θα πρέπει να αντικαταστήσετε το "_table_" στο όνομα του αρχείου με το πραγματικό όνομα πίνακα. Το αρχείο "testdb_table_backup.sql" που προκύπτει θα περιέχει όλες τις δηλώσεις SQL που είναι απαραίτητες για την αναδημιουργία του πίνακα.
Μπορείτε να δώσετε περισσότερες από μία παραμέτρους πίνακα για να δημιουργήσετε αντίγραφα ασφαλείας για αρκετούς πίνακες ή εάν το παραλείψετε τελείως, τότε ολόκληρη η βάση δεδομένων θα απορριφθεί. Για παράδειγμα:
mysqldump -u root --password = 'μυστικό' testdb> testdb_backup.sql
Το αρχείο "testdb_backup.sql" που προκύπτει θα περιέχει ένα αρχείο όλων των πινάκων στη βάση δεδομένων.
Για να απορρίψετε περισσότερες από μία βάσεις δεδομένων, πρέπει να χρησιμοποιήσετε την επιλογή --databases
. Για παράδειγμα:
mysqldump -u root --password = 'μυστικό' --databases testdb testdb2> testbd_testdb2_backup.sql
Για να δημιουργήσετε αντίγραφα ασφαλείας όλων των πινάκων από όλες τις βάσεις δεδομένων του διακομιστή MySQL, χρησιμοποιήστε την επιλογή " --all-databases
":
mysqldump -u root --password = 'μυστικό' - όλες τις βάσεις δεδομένων> all_dbs.sql
διαχειριστής
Το εργαλείο mysqladmin χρησιμοποιείται για τη διεκπεραίωση των εργασιών διαχείρισης, συμπεριλαμβανομένου του ελέγχου της διαμόρφωσης και της τρέχουσας κατάστασης του διακομιστή, καθώς και για τη δημιουργία και την απομάκρυνση βάσεων δεδομένων κ.λπ. Για να δημιουργήσετε μια βάση δεδομένων που ονομάζεται "testdb" χρησιμοποιήστε:
mysqladmin -u root -p δημιουργία testdb
Οι επιλογές "-u" και "-p" δουλεύουν όπως και με την εντολή mysqldump.
Για να διαγράψετε μια βάση δεδομένων μαζί με όλους τους πίνακες, χρησιμοποιήστε την υπο-εντολή "drop":
mysqladmin -u root -p drop testdb
Αφού επιβεβαιώσετε τη διαγραφή της βάσης δεδομένων, μαζί με όλους τους πίνακες της, θα αφαιρεθούν από το διακομιστή.
Η εντολή mysqadmin μπορεί επίσης να ανακτήσει διάφορα στατιστικά στοιχεία από το MySQL server. Δοκιμάστε τις δευτερεύουσες εντολές "status" και "extended-status". Το πιο απλό αίτημα κατάστασης είναι η εντολή "ping", η οποία ελέγχει αν ο διακομιστής είναι ζωντανός. Ακολουθεί ένα παράδειγμα του τρόπου χρήσης του:
mysqladmin -u root --password = 'μυστικό' ping
Μπορείτε να πάρετε λεπτομερείς πληροφορίες σχετικά με την εντολή mysqldump από τη σελίδα τεκμηρίωσης της MySQL Ένα πρόγραμμα Backup Database και το ίδιο για την εντολή mysqladmin από το Client για τη διαχείριση μιας σελίδας του MySQL Server.
Εάν έχετε οποιεσδήποτε απορίες σχετικά με τα παραπάνω παραδείγματα, παρακαλούμε να ρωτήσετε στην παρακάτω ενότητα σχολίων.