Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 27725|Răspunde: 4

[Sursă] Fac backup regulat la baze de date MySQL la distanță în medii Linux

[Copiază linkul]
Postat pe 30.09.2021 14:42:47 | | | |
Backup-ul programat al bazei de date este obligatoriu pentru orice dezvoltator, iar datele de backup regulate pot rezolva problema ștergerii accidentale a unor date, care pot fi restaurate la un anumit moment și pot minimiza pierderile.

MySQL oferă un instrument convenabil pentru exportul datelor și fișierelor din baza de date de pe linia de comandă, mysqldump, care poate exporta baze de date prin linia de comandă.

Recenzie:

Rezumate ale bazelor de date MySQL Dump pentru importuri și exporturi
https://www.itsvse.com/thread-4353-1-1.html

Folosește MySQL pentru a programa automat backup-uri într-un mediu Windows
https://www.itsvse.com/thread-7412-1-1.html

[Reeditare] Backup regulat pentru site-uri web și baze de date sub Linux
https://www.itsvse.com/thread-4428-1-1.html

Backup-ul și exportul bazei de date MySQL
https://www.itsvse.com/thread-4004-1-1.html
Acest articol este folositCentOS 7Mediu, backup al bazelor de date la distanță către local prin mysqldump. Dacă rulăm comanda mysqldump direct, eroarea va fi următoarea:

-bash: mysqldump: comandă negăsită
Aici este recomandat un pachet open-source third-party, Mydumper, un instrument de backup și recuperare multi-thread de înaltă performanță pentru MySQL și Drizzle. Viteză mai rapidă decât backup-ul și viteza de recuperare din mysqldump.

Adresă GitHub:Autentificarea cu hyperlink este vizibilă.

Comanda de instalare este următoarea:

Elementele de bază ale mediului Linux: diferența dintre instalarea el6, el7 și el8 în pachete rpm
https://www.itsvse.com/thread-10098-1-1.html
Astfel, atât comenzile mydumper, cât și myloader pot fi deja folosite, mydumper este responsabil pentru export, iar myloader este responsabil pentru import, așa cum se arată în figura de mai jos:



mydumperExplicația parametrilor

-B, --bază de date Baza de date care trebuie făcută backup, dacă nu specificată, să facă backup la toate bibliotecile
-T, --tabele-listă Tabelele care trebuie susținute, numele sunt separate prin virgule
-o, --outputdir pentru a face backup la directorul unde este ieșit fișierul
-s, --dimensiunea-instrucțiuni Numărul de octeți ai instrucțiunii inserate generate de ---dimensiunea-instrucțiunii este implicit 1000000
-r, --rânduri Când împărțiți un tabel în rânduri, specificați numărul de rânduri de bloc, specificarea acestei opțiuni va dezactiva --chunk-filesize
-F, --dimensiunea fișierului chunk Când împărțim un tabel după dimensiune, dimensiunea blocului specificată în MB
-c, --comprimă comprimă comprimă fișierul de ieșire
-e, --build-vidty-files dacă datele tabelului sunt goale, sau produce un fișier gol (implicit fără date, doar fișierul structurii tabelului)
-x, --regex este același cu expresia regulată care corespunde cu "db.table"
-Eu, --ignor motoarele ignoră motoarele de stocare și folosesc partiționare groasă
-m, --no-scheme nu susțin structuri de tabel
-k, --fără blocaje nu folosesc blocaje temporare partajate doar pentru citire, iar folosirea acestei opțiuni va cauza inconsistențe de date
--mai puțin-blocare reduce timpul necesar pentru aplicarea blocajelor pe tabelele InnoDB (mecanica acestui tipar este explicată în detaliu mai jos)
-l, --long-query-guard Setează timpul de timeout pentru interogările lungi care blochează backup-uri în secunde, iar implicitul este 60 de secunde (mydumper va ieși implicit după timeout).
--ucide-interogările lungi ucide interogările lungi (fără a ieși)
-b, --binlogs exportă binloguri
-D, --activează modul daemon, care face backup la baza de date la anumite intervale fără întrerupere
-I, --snapshot-interval dump Timp de snapshot interval, implicit 60s, trebuie să fie în modul daemon
-L, --logfile folosește numele fișierului log (logul generat de mydumper) și folosește implicit ieșirea standard
--tz-utc între fusuri orare este o opțiune folosită, nu este explicată
--skip-tz-utc Id
--use-savepoints Folosește punctele de salvare pentru a reduce timpul de blocare cauzat de colectarea metadatelor, ceea ce necesită permisiuni SUPER
--success-on-1146 Nu incrementează numărul de erori și Avertisment în loc de Critic în caz că tabelul nu există
-h, --host Numele gazdei conexiunii
-u, --utilizator backup utilizatorul folosit
-p, --parolă
-P, --port port
-S, --socket Fișierul soclului când se folosește comunicarea prin soclu
-t, --threads Numărul implicit de fire de rezervă activate este 4
-C, --compress-protocol comprimă datele care comunică cu mysql
-V, --versiunea afișează numărul versiunii
-v, ---model detaliat de informații de ieșire, 0 = silențios, 1 = erori, 2 = avertismente, 3 = informații, implicit 2
myloaderExplicația parametrilor

-d, --folder de director pentru fișierul de backup
-q, --interogări-per-tranzacție Numărul de interogări executate pe lucru este 1000 implicit
-o, --overwrite-tables Dacă tabelul de restaurat există, elimină tabelul mai întâi, folosește acest parametru și face backup la structura tabelului când este nevoie să faci backup
-B, --baza de date Baza de date care trebuie restaurată
-e, --enable-binlog permite jurnalele binare să restaureze date
-h, --gazdă
-u, --utilizator restaurat
-p, --parolă
-P, --port port
-S, --fișier soclu
-t, --threads restaurează numărul de fire folosite, implicit este 4
-C, --comprim-protocol
-V, --versiunea afișează versiunea
-v, --modul de ieșire verbos, 0 = silențios, 1 = erori, 2 = avertismente, 3 = informații, implicit 2
Backup-uri de testare

Comanda de export a bazei de date este următoarea:



După execuție, mydumper va crea o adresă de director specificată prin care trecem parametrii, care conține un fișier de metadate ce înregistrează numele fișierului de jurnal binar la momentul backup-ului și locația unde a fost scris jurnalul. Fiecare tabel are două fișiere de rezervă files:database.table-schema.sql un fișier de structură de tabel și database.table.sql fișier de date de tabel.

Backup-uri programate

Articolele de referință sunt următoarele:

CentOS 7 folosește crontab pentru a efectua sarcini la intervale regulate
https://www.itsvse.com/thread-9280-1-1.html
Să creăm un nou script de shell numit :backup_uat.sh, după cum urmează:

Acordarea permisiunilor de execuție:


Adaugă o sarcină

Sarcina se desfășoară în fiecare zi la ora 00:10 dimineața



Reîncarcă configurația

(Sfârșit)





Precedent:Elementele de bază ale mediului Linux: diferența dintre instalarea el6, el7 și el8 în pachete rpm
Următor:Explicații despre tehnologia RAID - Comparație RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
 Proprietarul| Postat pe 30.09.2021 17:03:15 |
Testează restaurarea bazei de date din fișierul de backup

-o, --overwrite-tables Dacă tabelul de restaurat există, elimină tabelul mai întâi, folosește acest parametru și face backup la structura tabelului când este nevoie să faci backup


Această poruncă,Tabelele și datele nou create nu sunt șterse

Postat pe 02.10.2021 16:58:15 |
Învață din greu și îmbunătățește-te în fiecare zi
 Proprietarul| Postat pe 19.10.2022 21:07:56 |
[Luptă propriu-zisă]. NET/C# implementează backup-uri de baze de date MySQL bazate pe MySqlBackup.NET
https://www.itsvse.com/thread-10375-1-1.html
Postat pe 15.11.2022 18:19:56 |
Învață-l
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com