MySQL-kommandoer til sikkerhedskopiering og gendannelse til databaseadministration
Denne artikel viser dig flere praktiske eksempler på, hvordan du udfører forskellige sikkerhedskopieringsoperationer af MySQL-databaser ved hjælp af mysqldump-kommandoen, og vi vil også se, hvordan du gendanner dem ved hjælp af mysql og mysqlimport-kommandoen i Linux.
mysqldump er et kommandolinjeklientprogram, det bruges til at dumpe lokal eller ekstern MySQL-database eller samling af databaser til sikkerhedskopiering i en enkelt flad fil.
Vi antager, at du allerede har MySQL installeret på Linux-system med administrative rettigheder, og vi antager, at du allerede har en lille mængde viden om MySQL. Hvis du ikke har MySQL installeret eller ikke har nogen eksponering for MySQL, så læs vores artikler nedenfor.
- Installer MySQL-server på RHEL/CentOS 6-5, Fedora 17-12
- 20 MySQL-kommandoer til databaseadministration
Sådan sikkerhedskopieres MySQL-database?
For at tage en sikkerhedskopi af MySQL-database eller databaser skal databasen eksistere i databaseserveren, og du skal have adgang til den. Formatet på kommandoen ville være.
# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]
Parametrene for den nævnte kommando som følger.
- [brugernavn]: Et gyldigt MySQL-brugernavn.
- [adgangskode]: En gyldig MySQL-adgangskode til brugeren.
- [database_name]: Et gyldigt databasenavn, du vil tage backup.
- [dump_file.sql]: Navnet på den backup-dumpfil, du vil generere.
Brug kommandoen som følger for at tage en sikkerhedskopi af en enkelt database. Kommandoen vil dumpe databasestrukturen [rsyslog] med data til en enkelt dumpfil kaldet rsyslog.sql.
# mysqldump -u root -ptecmint rsyslog > rsyslog.sql
Hvis du vil tage backup af flere databaser, skal du køre følgende kommando. Følgende eksempel kommando tager en sikkerhedskopi af databaser [rsyslog, syslog] struktur og data ind i en enkelt fil kaldet rsyslog_syslog.sql.
# mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql
Hvis du vil tage backup af alle databaser, skal du bruge følgende kommando med option –all-database. Den følgende kommando tager sikkerhedskopien af alle databaser med deres struktur og data ind i en fil kaldet all-databases.sql.
# mysqldump -u root -ptecmint --all-databases > all-databases.sql
Hvis du kun vil sikkerhedskopiere databasestrukturen uden data, skal du bruge indstillingen –no-data i kommandoen. Nedenstående kommando eksporterer database [rsyslog] Struktur til en fil rsyslog_structure.sql.
# mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql
For kun at sikkerhedskopiere databasedata uden struktur skal du bruge indstillingen –no-create-info med kommandoen. Denne kommando fører databasen [rsyslog] Data ind i en fil rsyslog_data.sql.
# mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql
Med kommandoen nedenfor kan du tage sikkerhedskopi af en enkelt tabel eller visse tabeller i din database. For eksempel tager den følgende kommando kun sikkerhedskopi af wp_posts-tabellen fra databasen wordpress.
# mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql
Hvis du vil tage backup af flere eller visse tabeller fra databasen, skal du adskille hver tabel med plads.
# mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql
Nedenstående kommando tager backup af fjernserver [172.16.25.126] -database [galleri] til en lokal server.
# mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql
Sådan gendannes MySQL-database?
I ovenstående tutorial har vi set, hvordan man kun tager backup af databaser, tabeller, strukturer og data, nu vil vi se, hvordan man gendanner dem ved hjælp af følgende format.
# # mysql -u [username] –p[password] [database_name] < [dump_file.sql]
For at gendanne en database skal du oprette en tom database på målmaskinen og gendanne databasen ved hjælp af msyql-kommandoen. For eksempel gendanner følgende kommando rsyslog.sql-filen til rsyslog-databasen.
# mysql -u root -ptecmint rsyslog < rsyslog.sql
Hvis du vil gendanne en database, der allerede findes på den målrettede maskine, skal du bruge kommandoen mysqlimport.
# mysqlimport -u root -ptecmint rsyslog < rsyslog.sql
På samme måde kan du også gendanne databasetabeller, strukturer og data. Hvis du kunne lide denne artikel, så del den med dine venner.