|
|
Opslået på 30/09/2021 14.42.47
|
|
|
|

Planlagt databasebackup er et must-prøve for enhver udvikler, og regelmæssige backupdata kan løse problemet med ved et uheld at slette nogle data, som kan gendannes til et bestemt tidspunkt og minimere tab.
MySQL tilbyder et praktisk værktøj til eksport af databasedata og filer fra kommandolinjen, mysqldump, som kan eksportere databaser via kommandolinjen.
Anmeldelse:
Denne artikel brugesCentOS 7miljø, hvor fjerndatabaser blev sikkerhedskopieret til det lokale via MySQLDump. Hvis vi kører mysqldump-kommandoen direkte, vil fejlen være som følger:
-bash: mysqldump: kommando ikke fundet En open source tredjepartspakke anbefales her, Mydumper, et højtydende multitrådet backup- og gendannelsesværktøj til MySQL og Drizzle. Hurtigere end mysqldump backup-hastighed og gendannelseshastighed.
GitHub-adresse:Hyperlink-login er synlig.
Installationskommandoen er som følger:
På denne måde kan både mydumper- og myloader-kommandoer allerede bruges, mydumper er ansvarlig for eksport, og myloader er ansvarlig for import, som vist i figuren nedenfor:
mydumperParameterforklaring
-B, --database Databasen, der skal sikkerhedskopieres, hvis ikke specificeret, sikkerhedskopier alle biblioteker -T, --tabeller-liste De tabeller, der skal sikkerhedskopieres, er adskilt med kommaer -o, --outputdir til at tage backup af mappen, hvor filen udskrives -s, --sætningsstørrelse Antallet af bytes i indsættelsesudsagnet, der genereres af --udsagnsstørrelse, er som standard 1000000 -r, --rækker Når en tabel opdeles i rækker, angiv antallet af blokrækker, og denne mulighed vil slå --chunk-filstørrelse fra -F, --chunk-filstørrelse Når en tabel chunker efter størrelse, er den specificerede blokstørrelse i MB -c, --komprimer komprimer komprimer komprimer outputfilen -e, --build-empty-files hvis tabeldataene er tomme, eller hvis den producerer en tom fil (som standard ingen data, kun tabelstrukturfilen) -x, --regex er det samme som det regulære udtryk, der matcher 'db.table' -i, --ignorer-motorer ignorerer lagringsmotorer og bruger tyk partitionering -m, --no-schemas tager ikke backup af tabelstrukturer -k, --no-locks bruger ikke midlertidige delte læsebeskyttede låse, og brug af denne mulighed vil forårsage datainkonsistenser --less-locking reducerer den tid, det tager at anvende låse på InnoDB-tabeller (mekanikken bag dette mønster forklares detaljeret nedenfor) -l, --long-query-guard Sæt timeout-tiden for lange forespørgsler, der blokerer backups, i sekunder, og standarden er 60 sekunder (mydumper lukker som standard efter timeouten). --dræb-lange-forespørgsler dræber lange forespørgsler (uden at afslutte) -b, --binlogs eksporterer binlogs -D, --daemon aktiverer daemon mode, som tager backup af databasen med bestemte intervaller uden afbrydelse -I, --snapshot-interval dump Snapshot interval tid, standard 60'erne, skal være i daemon-tilstand -L, --logfil bruger logfilens navn (logfilen genereret af mydumper) og bruger standardoutput som standard --tz-utc på tværs af tidszoner er en mulighed, der bruges, men ikke forklaret --skip-tz-utc ID --use-savepoints Brug savepoints til at reducere låsetiden forårsaget af metadataindsamling, som kræver SUPER-tilladelser --success-on-1146 Ikke øge fejltællingen og Advarsel i stedet for Kritisk i tilfælde af at tabellen ikke eksisterer -h, --vært Værtsnavnet på forbindelsen -u, --brugeren tager backup af brugeren -p, --adgangskode adgangskode -P, --port port -S, --socket Socket-filen ved brug af socket-kommunikation -t, --tråde Standardantallet af backuptråde aktiveret er 4 -C, --compress-protocol komprimerer data, der kommunikerer med MySQL -V, --versionen viser versionsnummeret -v, --udfør outputinformationsmønster, 0 = lydløs, 1 = fejl, 2 = advarsler, 3 = info, standard til 2 myloaderParameterforklaring
-d, --mappemappe til backupfilen -q, --forespørgsler-per-transaktion Antallet af forespørgsler udført pr. ting er som standard 1000 -o, --overwrite-tables Hvis den tabel, der skal genskabes, eksisterer, så smid tabellen først, brug denne parameter, og tag backup af tabelstrukturen, når du har brug for at tage backup -B, --database Databasen, der skal gendannes -e, --enable-binlog muliggør binære logs til at gendanne data -H, --vært -u, --bruger genoprettet -p, --adgangskode adgangskode -P, --port port -S, --socket socketfil -t, --threads gendanner antallet af anvendte tråde, standarden er 4 -C, --komprimeringsprotokol -V, --versionen viser versionen -v, --omstændelig output-tilstand, 0 = lydløs, 1 = fejl, 2 = advarsler, 3 = info, standard 2 Testbackups
Databaseeksportkommandoen er som følger:
Efter udførelsen opretter mydumper en specificeret mappeadresse, som vi sender gennem parametrene, og som indeholder en metadatafil, der registrerer den binære logfilens navn ved backup-tidspunktet og stedet, hvor loggen blev skrevet. Hver tabel har to backup-files:database.table-schema.sql en tabelstrukturfil og database.table.sql tabeldatafil.
Planlagte backups
Referenceartiklerne er som følger:
Lad os oprette et nyt shell-script kaldet :backup_uat.sh, som følger:
Giv tilladelser til eksekvering:
Tilføj en opgave
Opgaven udføres hver dag kl. 00:10
Genindlæs konfigurationen
(Slut)
|
Tidligere:Grundlæggende Linux-miljø: forskellen mellem at installere el6, el7 og el8 i rpm-pakkerNæste:RAID-teknologi forklaret - RAID0, RAID1, RAID3, RAID5, RAID6, RAID10 sammenligning
|