How to Get Back Deleted Data in SQL Server Using Transaction Log LSNs
Indholdsfortegnelse:
- Mysqldump kommandosyntax
- Sikkerhedskopier en enkelt MySQL-database
- Sikkerhedskopier flere MySQL-databaser
- Sikkerhedskopier alle MySQL-databaser
- Sikkerhedskopier alle MySQL-databaser for at adskille filer
- Opret en komprimeret MySQL-database-sikkerhedskopi
- Opret en sikkerhedskopi med tidsstempel
- Gendannelse af en MySQL dump
- Gendan en enkelt MySQL-database fra en fuld MySQL-dump
- Eksporter og importer en MySQL-database i én kommando
- Automatiser sikkerhedskopier med Cron
- Konklusion
Denne tutorial forklarer, hvordan man sikkerhedskopierer og gendanner MySQL- eller MariaDB-databaser fra kommandolinjen ved hjælp af mysqldump-værktøjet.
Backupfilerne oprettet af mysqldump-værktøjet er dybest set et sæt SQL-sætninger, der kan bruges til at genskabe den originale database. Mysqldump-kommandoen kan også generere filer i CSV- og XML-format.
Du kan også bruge mysqldump-værktøjet til at overføre din MySQL-database til en anden MySQL-server.
Mysqldump kommandosyntax
Før vi går ind på, hvordan man bruger kommandoen mysqldump, lad os starte med at gennemgå den grundlæggende syntaks.
Mysqldump-værktøjsudtrykket har følgende form:
mysqldump > file.sql
-
options
- Mysqldump-indstillingsfilen.sql - Dump-filen (backup)
For at bruge mysqldump-kommandoen skal MySQL-serveren være tilgængelig og køre.
Sikkerhedskopier en enkelt MySQL-database
Det mest almindelige brug af mysqldump-værktøjet er at tage backup af en enkelt database.
For eksempel at oprette en sikkerhedskopi af databasen med navnet
database_name
ved hjælp af brugerroten og gemme den i en fil med navnet
database_name.sql
kører du følgende kommando:
mysqldump -u root -p database_name > database_name.sql
Du bliver bedt om at indtaste root-adgangskoden. Efter vellykket godkendelse starter dump-processen. Afhængig af databasestørrelsen kan processen tage nogen tid.
mysqldump database_name > database_name.sql
Sikkerhedskopier flere MySQL-databaser
For at tage backup af flere MySQL-databaser med en kommando skal du bruge indstillingen - database efterfulgt af listen over databaser, du vil tage backup af. Hvert databasenavn skal adskilles med mellemrum.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
Kommandoen ovenfor opretter en dump-fil, der indeholder begge databaser.
Sikkerhedskopier alle MySQL-databaser
Brug muligheden -
--all-databases
til at tage backup af alle MySQL-databaser:
mysqldump -u root -p --all-databases > all_databases.sql
Samme som med det foregående eksempel vil kommandoen ovenfor oprette en enkelt dump-fil, der indeholder alle databaserne.
Sikkerhedskopier alle MySQL-databaser for at adskille filer
mysqldump
værktøjet giver ikke en mulighed for at tage backup af alle databaser for at adskille filer, men vi opnår det let med en simpel bash
FOR
loop:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
Kommandoen ovenfor opretter en separat dump-fil for hver database ved hjælp af databasenavnet som filnavn.
Opret en komprimeret MySQL-database-sikkerhedskopi
Hvis databasestørrelsen er meget stor, er det en god ide at komprimere output. For at gøre det skal du bare rute output til
gzip
værktøjet og omdirigere det til en fil som vist nedenfor:
mysqldump database_name | gzip > database_name.sql.gz
Opret en sikkerhedskopi med tidsstempel
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Kommandoen ovenfor opretter en fil med følgende format
database_name-20180617.sql
Gendannelse af en MySQL dump
Du kan gendanne et MySQL-dump ved hjælp af
mysql
værktøjet. Kommandoen generel syntaks er som følger:
mysqld database_name < file.sql
I de fleste tilfælde skal du oprette en database, du kan importere til. Hvis databasen allerede findes, skal du først slette den.
I det følgende eksempel opretter den første kommando en database med navnet
database_name
og derefter importerer den dump
database_name.sql
til den:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
Gendan en enkelt MySQL-database fra en fuld MySQL-dump
mysql --one-database database_name < all_databases.sql
Eksporter og importer en MySQL-database i én kommando
I stedet for at oprette en dump-fil fra en database og derefter importere sikkerhedskopien til en anden MySQL-database, kan du bruge følgende one-liner:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
Kommandoen ovenfor vil føre output til en mysql-klient på den eksterne vært, og den vil importere den til en database ved navn
remote_database_name
. Inden du kører kommandoen, skal du sikre dig, at databasen allerede findes på fjernserveren.
Automatiser sikkerhedskopier med Cron
Automatisering af sikkerhedskopieringen af databaserne er så simpelt som at oprette et cron-job, hvad der vil køre mysqldump-kommandoen på et bestemt tidspunkt.
Følg nedenstående trin for at konfigurere automatiserede sikkerhedskopier af en MySQL-database ved hjælp af cronjob:
-
Opret en fil med navnet
.my.cnf
i dit brugerhjemskatalog:sudo nano ~/.my.cnf
Kopier og indsæt følgende tekst i.my.cnf-filen.
user = dbuser password = dbpasswd
Glem ikke at udskifte
dbuser
ogdbpasswd
med databasebrugeren og brugerens adgangskode.Begræns tilladelser til legitimationsfilen, så kun din bruger har adgang til den:
chmod 600 ~/.my.cnf
Opret et bibliotek til at gemme sikkerhedskopierne:
mkdir ~/db_backups
Åbn din bruger crontab fil:
crontab -e
Tilføj følgende cron-job, der opretter en sikkerhedskopi af et databasenavn
mydb
hver dag kl. 3:0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql
Glem ikke at udskifte
username
med dit faktiske brugernavn.
Du kan også oprette endnu en cronjob for at slette eventuelle sikkerhedskopier, der er ældre end 30 dage:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Naturligvis skal du justere kommandoen i henhold til din backupplacering og filnavne. Hvis du vil lære mere om find-kommandoen, skal du se vores Sådan finder du filer i Linux ved hjælp af kommandolinjeguiden.
Konklusion
Denne tutorial dækker kun det grundlæggende, men det skal være en god start for alle, der ønsker at lære, hvordan man opretter og gendanner MySQL-databaser fra kommandolinjen ved hjælp af mysqldump-værktøjet.
Du kan også kontrollere selvstudiet om, hvordan du nulstiller en MySQL-root-adgangskode, hvis du har glemt det.
mysql mariadb backup mysqldumpSådan sikkerhedskopieres og gendannes filer i Windows 10
Denne vejledning viser dig, hvordan du sikkerhedskopierer og gendanner individuelle filer i Windows 10 ved hjælp af filhistorik let. Hvis du ikke bruger denne indbyggede funktion, skal du muligvis begynde at bruge den.
Sådan tilføjes, sikkerhedskopieres, gendannes brugerhenvisninger med Windows Vault
Windows 7 giver dig mulighed for at gemme loginoplysninger, der kan bruges at logge ind på forskellige servere, websteder eller programmer. Disse er ret praktiske at bruge, og de gemmes i elektronisk hvælving, der kaldes som Windows Vault.
Sådan sikkerhedskopieres, gendannes, gendannes Startmenulayout i Windows 10
Dette indlæg viser dig, hvordan du sikkerhedskopierer og gendanner start Menu layout, og endda hvordan du nulstiller startmenuen til standard i Windows 10.