|
|
Publisert på 30.09.2021 14:42:47
|
|
|
|

Planlagt databasebackup er et must for enhver utvikler, og vanlig sikkerhetskopiering kan løse problemet med å slette noen data ved et uhell, som kan gjenopprettes til et bestemt tidspunkt og minimere tap.
MySQL gir et praktisk verktøy for å eksportere databasedata og filer fra kommandolinjen, mysqldump, som kan eksportere databaser via kommandolinjen.
Anmeldelse:
Denne artikkelen brukesCentOS 7miljø, og sikkerhetskopierer eksterne databaser til den lokale via MySQLDump. Hvis vi kjører mysqldump-kommandoen direkte, vil feilen være som følger:
-bash: mysqldump: kommando ikke funnet En åpen kildekode tredjepartspakke anbefales her, Mydumper, et høyytelses flertrådet sikkerhetskopierings- og gjenopprettingsverktøy for MySQL og Drizzle. Raskere enn mysqldump sikkerhetskopieringshastighet og gjenopprettingshastighet.
GitHub-adresse:Innloggingen med hyperkoblingen er synlig.
Installasjonskommandoen er som følger:
På denne måten kan både mydumper- og myloader-kommandoer allerede brukes, mydumper er ansvarlig for eksport, og myloader er ansvarlig for import, som vist i figuren under:
mydumperParameterforklaring
-B, --database Databasen som skal sikkerhetskopieres, hvis ikke spesifisert, ta backup av alle biblioteker -T, --tabeller-liste Tabellene som må sikkerhetskopieres, navnene er adskilt med kommaer -o, --outputdir for å ta backup av mappen der filen sendes ut -s, --statement-size Antallet bytes i insert-setningen generert av --statement-size er som standard 1000000 -r, --rader Når du deler en tabell inn i rader, spesifiser antall blokkrader, og dette alternativet vil slå av --chunk-filstørrelse -F, --chunk-filstørrelse Når en tabell deles etter størrelse, er den angitte blokkstørrelsen i MB -c, --komprimer komprimer komprimer komprimer utdatafilen -e, --bygg-tom-filer hvis tabelldataene er tomme, eller det produserer en tom fil (som standard ingen data, kun tabellstrukturfilen) -x, --regex er det samme som det regulære uttrykket som matcher 'db.table' -i, --ignore-engines ignorerer lagringsmotorer og bruker tykk partisjonering -m, --no-schemas tar ikke backup av tabellstrukturer -k, --no-locks bruker ikke midlertidige delte skrivebeskyttede låser, og bruk av dette alternativet vil føre til datainkonsistenser --less-lock reduserer tiden det tar å påføre låser på InnoDB-tabeller (mekanikken bak dette mønsteret forklares i detalj nedenfor) -l, --long-query-guard Sett timeout-tiden for lange spørringer som blokkerer sikkerhetskopier, på sekunder, og standard er 60 sekunder (mydumper avsluttes som standard etter timeouten). --drep-lange-forespørsler dreper lange forespørsler (uten å avslutte) -b, --binlogs eksporterer binlogs -D, --daemon aktiverer daemon mode, som sikkerhetskopierer databasen med visse intervaller uten avbrudd -I, --snapshot-interval dump Snapshot interval time, standard 60s, må være i daemon-modus -L, --logfile bruker loggfilnavnet (loggen generert av mydumper), og bruker standard output som standard --Tz-UTC på tvers av tidssoner er et alternativ som brukes, men ikke forklart --skip-tz-utc ID --use-savepoints Bruk savepoints for å redusere låsetiden forårsaket av metadatainnsamling, som krever SUPER-tillatelser --suksess-på-1146 Ikke øke feiltellingen og Advarsel i stedet for Kritisk i tilfelle tabellen ikke finnes -h, --host Vertsnavnet til forbindelsen -u, --brukeren ta backup av brukeren som ble brukt -p, --passordpassord -P, --port port -S, --socket Socket-filen når man bruker socket-kommunikasjon -t, --tråder Standard antall sikkerhetskopierte tråder aktivert er 4 -C, --compress-protocol komprimerer data som kommuniserer med MySQL -V, --versjonen viser versjonsnummeret -v, --utsatt utgangsinformasjonsmønster, 0 = stille, 1 = feil, 2 = advarsler, 3 = info, standard til 2 myloaderParameterforklaring
-d, --mappe for sikkerhetskopifilen -q, --spørringer-per-transaksjon Antall spørringer som utføres per ting er som standard 1000 -o, --overwrite-tables Hvis tabellen som skal gjenopprettes eksisterer, slipp tabellen først, bruk denne parameteren, og ta backup av tabellstrukturen når du trenger å ta backup -B, --database Databasen som må gjenopprettes -e, --enable-binlog gjør det mulig for binære logger å gjenopprette data -H, --vertvert -u, --bruker gjenopprettet -p, --passordpassord -P, --port port -S, --sokkelfil -t, --threads gjenoppretter antall tråder som brukes, standard er 4 -C, --komprimer-protokoll -V, --versjonen viser versjonen -v, --omsatt utgangsmodus, 0 = stille, 1 = feil, 2 = advarsler, 3 = info, standard til 2 Testsikkerhetskopier
Databaseeksportkommandoen er som følger:
Etter kjøring vil mydumper opprette en spesifisert mappeadresse som vi sender gjennom parametere, som inneholder en metadatafil som registrerer navnet på den binære loggfilen ved sikkerhetskopieringstidspunktet og stedet der loggen ble skrevet. Hver tabell har to sikkerhetskopier files:database.table-schema.sql en tabellstrukturfil, og database.table.sql tabelldatafil.
Planlagte backup-oppdrag
Referanseartiklene er som følger:
La oss lage et nytt shell-skript kalt :backup_uat.sh, som følger:
Gi utførelsestillatelser:
Legg til en oppgave
Oppgaven utføres hver dag kl. 00:10
Last inn konfigurasjonen på nytt
(Slutt)
|
Foregående:Grunnleggende Linux-miljø: forskjellen mellom å installere el6, el7 og el8 i rpm-pakkerNeste:RAID-teknologi forklart – RAID0, RAID1, RAID3, RAID5, RAID6, RAID10 sammenligning
|