Fiind una dintre cele mai importante baze de date disponibile, MySQL este o alegere populară pentru tot felul de aplicații web. Fiind expus la Internet, aplicația dvs. este, desigur, expusă atacurilor rău intenționate. Dacă serverul dvs. este compromis, în cel mai bun caz va trebui să reinstalați aplicația; în cel mai rău caz, vă puteți pierde totalitatea datelor. De asemenea, veți fi într-o situație în care trebuie să migrați o bază de date de la un server la altul.
Ce este mysqldump folosit pentru?
mysqldump instrument acoperit pentru ambele situații. Funcția de bază este să luați o bază de date MySQL și să o "aruncați" ca fișier text. Dar nu doar orice fișier text … fișierul este a set de instrucțiuni SQL. Aceste instrucțiuni, atunci când sunt executate, vă vor re-construi baza de date la starea exactă în care a fost în momentul executării dump-ului.
Deci poți folosi mysqldump să exporte exporturi ale unei baze de date. Acestea pot fi în scopul de a crea copii de rezervă sau pentru că mutați baza de date într-o gazdă nouă. În ambele cazuri, veți fi la un moment dat import fișierul text înapoi într-un server de baze de date MySQL. Acesta va executa toate instructiunile SQL din fisier, care va reconstruieste DB in starea initiala. Această parte nu utilizează de fapt mysqldump dar nu ar fi posibil fără această utilitate!
Documentele MySQL afișează și alte metode de a crea copii de rezervă, dar toate acestea au propriile neajunsuri:
- Hotcopying un DB de la MySQL Enterprise este o modalitate foarte bună de a realiza aceste copii de rezervă … dacă nu vă deranjează eticheta de preț Enterprise.
- Copierea directoarelor de date ale DB poate fi dificilă dacă vă deplasați prin sistemele de operare, deoarece destinațiile lor vor fi diferite.
- Exportul la un fișier text delimitat vă va oferi conținutul, dar va trebui să creați singur structura. Și mai bine ai face bine …
- Puteți să salvați de multe ori baze de date din programe GUI, cum ar fi MySQL Workbench. Dar acesta este un proces manual, adică nu este ceva ce puteți script sau include într-o lucrare batch.
Instalarea instrumentului mysqldump
Dacă sunteți interesat de acest articol, este posibil să aveți deja instalat MySQL. Dacă este așa, vești bune - deja aveți mysqldump! Dacă nu, puteți instala pur și simplu MySQL în mod standard pentru sistemul dvs. de operare.
Pentru Windows, consultați instrucțiunile de aici pentru a instala MySQL pe Windows 7 (procesul de instalare este încă la fel). De asemenea, în MacOS, consultați instrucțiunile de instalare a MySQL pe macOS 10.7 (din nou, mai vechi, dar încă aplicabile). Utilizatorii sistemelor Linux bazate pe Ubuntu pot folosi următoarea comandă pentru a instala clientul și utilitățile MySQL:
sudo apt instala mysql-client Odată instalat, puteți utiliza mysqldump pentru a obține o copie de rezervă completă a bazei dvs. de date. mysqldump -h numele gazdei DB sau IP -u numele utilizatorului DB -p numele bazei de date> db_backup.sql
Să ne despărțim puțin de această comandă: Când este terminat, veți avea un fișier .SQL. Acesta este doar un fișier text care conține instrucțiuni SQL. Puteți să o deschideți în orice editor de text pentru a inspecta conținutul. Privind la un export dintr-o bază de date WordPress, puteți vedea modul în care aceste fișiere sunt puse împreună. Fișierul este împărțit în secțiuni. În imaginea de mai sus, putem vedea prima secțiune care stabilește tabelul pentru comentariile WordPress. A doua secțiune apoi recreează conținutul (adică înregistrările de comentarii) care se găsea în acele tabele. Când mergeți să reimportați din nou memoria MySQL, comanda va funcționa prin fișier, executând instrucțiunile și re-construind baza de date așa cum a fost. Deci cum faceți asta? Hai să aruncăm o privire. Înainte de a putea face acest lucru, veți avea nevoie de o bază de date deja creată și să aveți un nume de utilizator și o parolă valide. De asemenea, trebuie să aveți toate permisiunile pentru baza de date. (Strict vorbind, nu aveți nevoie de ACORDA permisiune, dar este mai ușor să le acordați tuturor.) Puteți găsi detalii despre permisiunile bazei de date în acest articol. Pentru a reimporta datele, urmați acești pași: După ce ați terminat, veți vedea o lungă listă de mesaje care vor arăta că instrucțiunile SQL se execută. Feriți-vă de erori, dar dacă aveți permisiunile corecte, ar trebui să fiți bine, deoarece este o bază de date necompletată. Odată ce procesul este complet, veți avea un duplicat al bazei dvs. de date originale. Puteți verifica acest lucru făcând o altă încărcare și comparând cele două ieșiri. Un editor de text decent va fi capabil să facă acest lucru pentru dvs. sau un instrument dedicat * diff * ca cel prezentat în imaginea de mai jos: Există doar două diferențe între aceste fișiere, reprezentate de linii roșii în partea de sus și de jos a barei de derulare din dreapta. Prima este linia care conține numele bazei de date și ne așteptăm ca aceasta să fie diferită deoarece le-am denumit diferit. Al doilea, până la capăt, este marcajul temporal pentru fișierul cu memorie. Și ne așteptăm ca acest lucru să fie diferit, deoarece am recreat a doua bază de date după prima. În caz contrar, fișierele sunt exact la fel, adică bazele de date care le-au generat sunt la fel! Extragerea unei baze de date MySQL
Importarea unui fișier de rezervă MySQL