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.

  1. Installer MySQL-server på RHEL/CentOS 6-5, Fedora 17-12
  2. 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.

  1. [brugernavn]: Et gyldigt MySQL-brugernavn.
  2. [adgangskode]: En gyldig MySQL-adgangskode til brugeren.
  3. [database_name]: Et gyldigt databasenavn, du vil tage backup.
  4. [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.