Cum se face backup automat al bazei de date MySQL folosind PHP

Cum Se Face Backup Automat Al Bazei De Date Mysql Folosind Php



MySQL este un RDBMS open-source care poate crea, gestiona și stoca în mod eficient volume uriașe de date într-un mod structurat. Pentru a asigura securitatea datelor, copierea de rezervă a bazei de date este o sarcină importantă. MySQL acceptă multe limbi, astfel încât pentru a crea o copie de rezervă a unei baze de date MySQL, utilizatorul poate scrie scriptul în PHP, care este un limbaj de scripting puternic.

Acest articol va discuta despre cum să creați o copie de rezervă a unei baze de date MySQL utilizând PHP și să automatizați procesul de backup.

Backup automat bazei de date MySQL folosind PHP

Pentru a scrie cod PHP, deschideți orice editor de cod. Pentru această postare, „ Codul Visual Studio ' este utilizat:









Creați un fișier PHP numit „ db_backup.php ”:







Tastați acest cod și furnizați acreditările pentru baza de date MySQL:

defini ( „DB_HOST” , „host_mysql_host” ) ;

defini ( „DB_USER” , „your_mysql_username” ) ;

defini ( „DB_PASS” , „parola_mysql_dvs” ) ;

defini ( „DB_NAME” , „numele_base_de_date_voastra” ) ;

Definiți directorul de backup, unde vor fi stocate fișierele de rezervă:



defini ( „BACKUP_DIR” , „/calea/spre/dau/backup/director” ) ;

Setați formatul de dată pentru numele fișierului de rezervă:

$data = data('Y-m-d_H-i-s');

Definiți „ fisier de rezerva ”:

$backup_file = BACKUP_DIR . '/' . DB_NAME . '-' . $date . '.sql';

Pentru a crea un fișier de rezervă, utilizați utilitarul mysqldump și furnizați acreditările bazei de date:

$command = 'mysqldump --user='.DB_USER.' --password='.DB_PASS.' '.DB_NAME.' > '.$backup_file;

sistem($comandă);

Comprimați fișierul de rezervă folosind „ gzip ” unealtă:

$gzip_command = 'gzip'. $backup_file;

sistem($gzip_command);

Tastați această bucată de cod pentru a elimina vechile fișiere de rezervă, pentru această postare fișierele care sunt „ 7 ” zilele vechi vor fi șterse:

$find_command = „găsește „.BACKUP_DIR.” -type f -name „*.gz” -mtime +7 -delete”;

sistem($find_command);

Salvați fișierul și rulați-l pentru a confirma dacă fișierul de rezervă este creat sau nu. Deschideți terminalul editorului de cod și introduceți comanda pentru a executa fișierul:

php .\db_backup.php

Listați directorul pentru a vedea dacă fișierul de rezervă există. Ieșirea afișează fișierul de rezervă care a fost creat cu succes:

Pentru a automatiza procesul de backup, deschideți meniul Start, căutați „ Planificator de sarcini ” și faceți clic pe „ Deschis butonul ”:

De la ' Acțiuni ” și apăsați pe „ Creați sarcină ' opțiune:

Se va deschide un nou expert. Mergeți în „ General ” și furnizați numele sarcinii. Selectați opțiunea care asigură backup-ul chiar dacă utilizatorul este deconectat:

Navigați la „ Declanșatoare ” și apăsați tasta „ Nou butonul ”:

Selectați opțiunea „ La un program ”. Selectați ora programată ca „ Zilnic ” și ajustați „ start ” timp. În setările avansate, verificați „ Activat ” și apăsați butonul „ Bine butonul ”:

Starea se va schimba în „ Activat ”:

Selectează ' Acțiuni ” și faceți clic pe „ Nou butonul ”:

Introduceți numele pentru „Acțiune” și căutați „ Program/script „Fișierul PHP pe care l-ați creat și „ Adăugați argumente ” și faceți clic pe „ Bine ”:

Acțiunea va fi creată cu succes:

Mergeți la „ Condiții ” și bifați caseta de selectare ” Treziți computerul pentru a freca această sarcină ”:

În ' Setări ” și selectați opțiunile afișate în rezultat și ajustați timpul pentru repornire și faceți clic pe „ Bine butonul ”:

Va apărea solicitarea, introduceți acreditările și faceți clic pe „ Bine butonul ”:

Baza de date MySQL va face backup automat. Verificați directorul de rezervă pentru a vedea fișierele de rezervă atunci când este necesar:

Ați creat cu succes fișierul PHP pentru a face backup la baza de date MySQL, apoi pentru a automatiza procesul de backup ați folosit Task Scheduler.

Concluzie

Utilizați editorul de cod pentru a crea un fișier PHP, furnizați acreditările pentru baza de date MySQL și formatul numelui fișierului de rezervă și formatul datei. Utilizați comanda mysqldump pentru a crea un fișier SQL și instrumentul gzip pentru a comprima fișierul SQL. Utilizați Task Scheduler pentru automatizarea procesului de backup. Această postare a demonstrat cum să faci backup automat unei baze de date MySQL folosind PHP.