Backup i MYSQL Workbench 6.3
Innholdsfortegnelse:
- Mysqldump Command Syntax
- Sikkerhetskopier en enkelt MySQL-database
- Sikkerhetskopier flere MySQL-databaser
- Sikkerhetskopier alle MySQL-databaser
- Sikkerhetskopier alle MySQL-databaser for å skille filer
- Opprett en komprimert MySQL-database-sikkerhetskopi
- Lag en sikkerhetskopi med tidsstempel
- Gjenopprette en MySQL dump
- Gjenopprett en enkelt MySQL-database fra en full MySQL-dump
- Eksporter og importer en MySQL-database i én kommando
- Automatiser sikkerhetskopier med Cron
- Konklusjon
Denne opplæringen forklarer hvordan du sikkerhetskopierer og gjenoppretter MySQL- eller MariaDB-databaser fra kommandolinjen ved å bruke mysqldump-verktøyet.
Sikkerhetskopifilene opprettet av mysqldump-verktøyet er i utgangspunktet et sett med SQL-setninger som kan brukes til å gjenskape den opprinnelige databasen. Mysqldump-kommandoen kan også generere filer i CSV- og XML-format.
Du kan også bruke mysqldump-verktøyet til å overføre MySQL-databasen til en annen MySQL-server.
Mysqldump Command Syntax
Før du går inn på hvordan du bruker mysqldump-kommandoen, la oss begynne med å gå gjennom den grunnleggende syntaks.
Mysqldump-verktøyuttrykkene har følgende form:
mysqldump > file.sql
-
options
-file.sql
alternativetfile.sql
- dump-filen (backup)
For å bruke mysqldump-kommandoen må MySQL-serveren være tilgjengelig og kjører.
Sikkerhetskopier en enkelt MySQL-database
Det vanligste tilfellet med mysqldump-verktøyet er å ta sikkerhetskopi av en enkelt database.
For å lage en sikkerhetskopi av databasen som heter
database_name
ved hjelp av brukerroten og lagre den i en fil som heter
database_name.sql
kjører du følgende kommando:
mysqldump -u root -p database_name > database_name.sql
Du blir bedt om å oppgi root-passordet. Etter vellykket autentisering starter dump-prosessen. Avhengig av databasestørrelse kan prosessen ta litt tid.
mysqldump database_name > database_name.sql
Sikkerhetskopier flere MySQL-databaser
For å ta sikkerhetskopi av flere MySQL-databaser med en kommando, må du bruke alternativet - database etterfulgt av listen over databaser du vil sikkerhetskopiere. Hvert databasenavn må skilles med mellomrom.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
Kommandoen over vil opprette en dump-fil som inneholder begge databasene.
Sikkerhetskopier alle MySQL-databaser
Bruk
--all-databases
for å sikkerhetskopiere alle MySQL-databaser:
mysqldump -u root -p --all-databases > all_databases.sql
Samme som med forrige eksempel vil kommandoen over opprette en enkelt dump-fil som inneholder alle databasene.
Sikkerhetskopier alle MySQL-databaser for å skille filer
mysqldump
verktøyet gir ikke et alternativ for å ta sikkerhetskopi av alle databaser for å skille filer, men vi oppnår det enkelt med en enkel bash
FOR
loop:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
Kommandoen over vil opprette en egen dump-fil for hver database ved å bruke databasenavnet som filnavn.
Opprett en komprimert MySQL-database-sikkerhetskopi
Hvis databasestørrelsen er veldig stor, er det lurt å komprimere utdataene. For å gjøre det, bare rør utdataene til
gzip
verktøyet, og omdirigér den til en fil som vist nedenfor:
mysqldump database_name | gzip > database_name.sql.gz
Lag en sikkerhetskopi med tidsstempel
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Kommandoen over vil opprette en fil med følgende format
database_name-20180617.sql
Gjenopprette en MySQL dump
Du kan gjenopprette en MySQL-dump ved hjelp av
mysql
verktøyet. Kommandoen generell syntaks er som følger:
mysqld database_name < file.sql
I de fleste tilfeller må du opprette en database for å importere til. Hvis databasen allerede eksisterer, må du først slette den.
I det følgende eksemplet vil den første kommandoen opprette en database som heter
database_name
og deretter importere dump
database_name.sql
til den:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
Gjenopprett en enkelt MySQL-database fra en full MySQL-dump
mysql --one-database database_name < all_databases.sql
Eksporter og importer en MySQL-database i én kommando
I stedet for å opprette en dump-fil fra en database og deretter importere sikkerhetskopien til en annen MySQL-database, kan du bruke følgende one-liner:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
Kommandoen over vil pipe utdataene til en mysql-klient på den eksterne verten, og den vil importere den til en database med navnet
remote_database_name
. Før du kjører kommandoen, må du forsikre deg om at databasen allerede eksisterer på den eksterne serveren.
Automatiser sikkerhetskopier med Cron
Å automatisere prosessen med å sikkerhetskopiere databasene er så enkelt som å lage en cron-jobb som vil kjøre mysqldump-kommandoen til angitt tidspunkt.
Følg trinnene nedenfor for å konfigurere automatiserte sikkerhetskopier av en MySQL-database ved hjelp av cronjob:
-
Lag en fil som heter
.my.cnf
i brukerkatalogen for brukeren:sudo nano ~/.my.cnf
Kopier og lim inn følgende tekst i.my.cnf-filen.
user = dbuser password = dbpasswd
Ikke glem å erstatte
dbuser
ogdbpasswd
med databasebrukeren og brukerens passord.Begrens tillatelser til legitimasjonsfilen slik at bare brukeren din har tilgang til den:
chmod 600 ~/.my.cnf
Lag en katalog for å lagre sikkerhetskopiene:
mkdir ~/db_backups
Åpne crontab-filen din:
crontab -e
Legg til følgende cron-jobb som vil opprette en sikkerhetskopi av et databasenavn
mydb
hver dag kl.0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql
Ikke glem å erstatte
username
med det faktiske brukernavnet.
Du kan også opprette en annen cronjob for å slette sikkerhetskopier som er eldre enn 30 dager:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Selvfølgelig må du justere kommandoen i henhold til sikkerhetskopisplassering og filnavn. For å lære mer om finnkommandoen, sjekk vår Hvordan finne filer i Linux ved å bruke kommandolinjeguiden.
Konklusjon
Denne opplæringen dekker bare det grunnleggende, men det skal være en god start for alle som ønsker å lære å lage og gjenopprette MySQL-databaser fra kommandolinjen ved hjelp av mysqldump-verktøyet.
Du kan også sjekke opplæringen om hvordan du tilbakestiller et MySQL root-passord i tilfelle du har glemt det.
mysql mariadb backup mysqldumpDu kan reparere , sikkerhetskopiere, gjenopprette, eksportere, importere, tilbakestille Windows Brannmurpolicy og innstillinger med Windows-brannmur med avansert sikkerhet i Windows 10/8/7.

OK, hvis du er her, prøvde du sannsynligvis å konfigurere Windows-brannmuren, og kanskje noe gikk galt et sted, og du slo opp! I slike tilfeller kan det være lurt å importere, eksportere eller gjenopprette standardinnstillinger for Windows Firewall Policy med
Hvordan sikkerhetskopiere / gjenopprette Android-apper ved hjelp av titan-sikkerhetskopi

Lær hvordan du sikkerhetskopierer / gjenoppretter Android-apper ved hjelp av Titanium Backup.
Hvordan sikkerhetskopiere og gjenopprette skype-kontakter

Denne guiden viser hvordan du enkelt kan ta sikkerhetskopi, gjenopprette Skype-kontakter og også overføre dem til en ny Skype-ID.