Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 27725|Svar: 4

[Kilde] Tag regelmæssigt backup af fjern-MySQL-databaser i Linux-miljøer

[Kopier link]
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:

MySQLDUMP Imports og Export databaseoversigter
https://www.itsvse.com/thread-4353-1-1.html

Brug MySQL til automatisk at planlægge backups i et Windows-miljø
https://www.itsvse.com/thread-7412-1-1.html

[Genoptryk] Regelmæssig backup af scripts til hjemmesider og databaser under Linux
https://www.itsvse.com/thread-4428-1-1.html

MySQL databasebackup og eksport
https://www.itsvse.com/thread-4004-1-1.html
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:

Grundlæggende Linux-miljø: forskellen mellem at installere el6, el7 og el8 i rpm-pakker
https://www.itsvse.com/thread-10098-1-1.html
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:

CentOS 7 bruger crontab til at udføre opgaver med jævne mellemrum
https://www.itsvse.com/thread-9280-1-1.html
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-pakker
Næste:RAID-teknologi forklaret - RAID0, RAID1, RAID3, RAID5, RAID6, RAID10 sammenligning
 Udlejer| Opslået på 30/09/2021 17.03.15 |
Test med at gendanne databasen fra backupfilen

-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


Denne kommando,Nyoprettede tabeller og data slettes ikke

Opslået på 02/10/2021 16.58.15 |
Studér hårdt og forbedr dig hver dag
 Udlejer| Opslået på 19/10/2022 21.07.56 |
[Egentlig kamp]. NET/C# implementerer MySQL-databasebackups baseret på MySqlBackup.NET
https://www.itsvse.com/thread-10375-1-1.html
Opslået på 15/11/2022 18.19.56 |
Lær det
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com