Cum să faceți backup și să restaurați bazele de date MySQL cu Mysqldump

Introducere

mysqldump este un utilitar care realizează copii de rezervă pentru baza de date MySQL. Aceste fișiere de rezervă cuprind instrucțiuni SQL care pot fi rulate într-un anumit sistem de operare pentru a recrea baza de date originală. Utilitarul mysqldump poate, de asemenea, face backup la o bază de date locală și, în același timp, o poate restaura pe o bază de date la distanță folosind o singură comandă. De asemenea, dispune de o interfață ușor de utilizat.


Dacă nu reușiți să faceți o copie de rezervă a bazelor de date, puteți întâmpina o eroare a hard-disk-ului / a sistemului sau o eroare de software care poate fi îngrozitoare. Este important să efectuați o copie de rezervă regulată a bazei de date MySQL.

În acest tutorial, vă vom arăta un proces pas cu pas despre cum să faceți backup și să restaurați bazele de date MySQL folosind utilitarul mysqldump.

Sintaxa de comandă pentru Mysquldump

Înainte de a începe, vă vom arăta cum să executați diverse comenzi în mysqldump. Toate funcțiile utilitare mysqldump iau forma:

mysqldump [opțiuni] > file.sql

  • Opțiuni: Reprezintă opțiunile mysquldump
  • file.sql: Fișierul dump (backup)

Cum se face backup pentru baza de date MySQL

1. Backup O singură bază de date

Vom începe prin crearea unei copii de rezervă pentru o bază de date numită numele bazei de date cu utilizatorul rădăcină apoi salvați-l în director database_name.sqL.  Pentru a realiza acest lucru, vom executa comanda de mai jos:

$ Mysqldump -u rădăcină -p bază de date nume > database_name.sql

Vi se va solicita să furnizați parola root. Introduceți-l apoi faceți clic introduce să inițieze dump-ul. Timpul necesar pentru a finaliza acest proces depinde de dimensiunea bazei de date.

Puteți omite valoarea -u și -p dacă sunteți conectat la sistem ca același utilizator pe care l-ați folosit pentru a executa exportul, caz în care este posibil să nu vi se solicite să introduceți o parolă.

$ Mysqldump nume de bază de date > database_name.sql

2. Backup multiple baze de date MySQL

Dacă doriți să creați o copie de rezervă pentru mai multe baze de date, puteți utiliza–Bază de date opțiune incluzând lista bazelor de date pe care doriți să o faceți backup. Asigurați-vă că fiecare nume de bază de date este separat de un spațiu.

$ Mysqldump -u rădăcină -p – baza de date date_numele_a bază de date_numele_b > databases_a_b.sql

Această comandă va crea o copie de rezervă sau un fișier dump cu bazele de date listate.

3. Backup Toate bazele de date MySQL

Pentru a crea o copie de rezervă pentru toate bazele de date, trebuie să utilizați opțiunea –toate bazele de date.

$ Mysqldump -u root -p – toate bazele de date > all_databases.sql

Această comandă va crea, de asemenea, o rezervă cu toate bazele de date.

4. Backup Toate bazele de date în diferite fișiere

În mod implicit, mysqldump nu are o opțiune de rezervă pentru toate bazele de date în fișiere diferite. Cu toate acestea, acest lucru poate fi obținut cu un bash PENTRU bucla așa cum se arată mai jos:

pentru DB în $ (mysql -e ‘arată baze de date’ -s –skip-column-names); do
mysqldump $ DB > "$ DB.sql";
Terminat

Această comandă va crea un fișier de rezervă separat pentru toate bazele de date MySQL care utilizează numele bazei de date ca nume de fișier.

Crearea unui fișier / copie de rezervă a bazei de date comprimate

Dacă baza dvs. de date este foarte mare, este înțelept să creați o ieșire comprimată. Pentru aceasta, alimentați ieșirea către utilitatea gzip, apoi redirecționați ieșirea către un fișier specific folosind comanda de mai jos:

$ Mysqldump nume de bază de date > | gzip > database_name.sql.gz

Crearea unui fișier de descărcare de gestiune utilizând Timestamp

Dacă doriți să creați mai multe fișiere de rezervă în aceeași locație, adăugați data la numele de fișier al copiei de rezervă, după cum se arată mai jos:

$ mysqldump nume de bază de date > nume de bază de date – $ (data +% Y% m% d) .sql

Această comandă va crea un fișier dump cu formatul nume_bază_date-20180817.sql

Pe de altă parte, dacă utilizați cronjob pentru a vă sistematiza bazele de date, puteți executa comanda de mai jos pentru a șterge orice backup care a existat mai mult de 30 de zile.

find / path / to / backups -tipul f "* .sql" -ora + 30 -delete

Asigurați-vă că editați comanda pe baza numelor și locației fișierului dvs. de rezervă.

Cum să restaurați MySQL Dump

Pentru a restabili un fișier de rezervă MySQL, utilizați MySQL instrument. Mai întâi, creați o bază de date nouă în care veți importa fișierele. Dacă există o bază de date existentă, începeți prin a o șterge.

În exemplul nostru, vom crea o nouă bază de date numită numele bazei de date apoi importați fișierul de rezervă database_name.sql în ea. Pentru a realiza acest lucru, executați comenzile de mai jos:

$ Mysql -u rădăcină -p -e "crearea bazei de date nume";
$ Mysql -u rădăcină -p bază de date nume < database_name.sql

Restaurarea unei baze de date unice pentru MySQL

În cazul în care aveți bazele de date MySQL protejate -opțiunea tuturor bazelor de date și doriți să restaurați un singur fișier de bază de date MySQL din fișierul dump, va trebui să utilizați opțiunea–o singură bază de date după cum se arată în comanda de mai jos:

$ Mysql – nume de bază de date singur-bază de date < all_databases.sql

Exportarea și importarea unei baze de date O comandă unică

Pentru a importa și exporta un fișier dump într-o bază de date MySQL, executați comanda de mai jos:

$ Mysqldump -u root -p bază de date nume_ | mysql -h remote_host -u root -p remote_database_name

Această comandă va canaliza detaliile către clientul MySQL găzduit pe o mașină de la distanță și le va importa într-o altă bază de date numită remote_database_name. Dar înainte de a rula această comandă, asigurați-vă că baza de date este prezentă pe serverul de la distanță.

Concluzie

Asta e. Am acoperit elementele de bază pentru a vă începe. Sperăm că acest ghid v-a ajutat să înțelegeți cum să faceți backup și să restaurați bazele de date MySQL folosind utilitarul mysqldump.

Consultați aceste 3 cele mai bune servicii de găzduire web

FastComet

Pret de inceput:
$ 2,95


Fiabilitate
9.7


Prețuri
9.5


Ușor de utilizat
9.7


A sustine
9.7


Caracteristici
9.6

Citește recenziile

Accesați FastComet

A2 Gazduire

Pret de inceput:
$ 3,92


Fiabilitate
9.3


Prețuri
9


Ușor de utilizat
9.3


A sustine
9.3


Caracteristici
9.3

Citește recenziile

Accesați Găzduirea A2

ChemiCloud

Pret de inceput:
$ 2,76


Fiabilitate
10


Prețuri
9.9


Ușor de utilizat
9.9


A sustine
10


Caracteristici
9.9

Citește recenziile

Accesați ChemiCloud

Articole legate de modalități conexe

  • Cum să optimizați întrebările în bazele de date MySQL și MariaDB
    intermediar
  • Cum să găzduiești Drupal 8 site-uri web cu servere NGINX pe planurile VPS
    intermediar
  • Cum se instalează phpIPAM pe CentOS 7
    intermediar
  • Cum să resetați o parolă rădăcină MySQL pe Ubuntu 18.04?
    incepator
  • Cum se instalează Zabbix pe CentOS 7
    intermediar
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me