Kaip automatiškai sukurti atsarginę MySQL duomenų bazės kopiją naudojant PHP

Kaip Automatiskai Sukurti Atsargine Mysql Duomenu Bazes Kopija Naudojant Php



MySQL yra atvirojo kodo RDBVS, kuri gali efektyviai kurti, valdyti ir struktūrizuotu būdu saugoti didžiulius duomenų kiekius. Siekiant užtikrinti duomenų saugumą, svarbi užduotis yra sukurti atsargines duomenų bazės kopijas. MySQL palaiko daugybę kalbų, todėl norėdami sukurti atsarginę MySQL duomenų bazės kopiją, vartotojas gali parašyti scenarijų PHP, kuris yra galinga skriptų kalba.

Šiame straipsnyje bus aptarta, kaip sukurti MySQL duomenų bazės atsarginę kopiją naudojant PHP ir automatizuoti atsarginės kopijos kūrimo procesą.

Automatiškai kurkite atsarginę MySQL duomenų bazę naudodami PHP

Norėdami parašyti PHP kodą, atidarykite bet kurį kodo rengyklę. Šiam įrašui „ Visual Studio kodas “ yra naudojamas:









Sukurkite PHP failą pavadinimu ' db_backup.php “:







Įveskite šį kodą ir pateikite savo MySQL duomenų bazės kredencialus:

apibrėžti ( „DB_HOST“ , 'your_mysql_host' ) ;

apibrėžti ( „DB_USER“ , 'your_mysql_username' ) ;

apibrėžti ( „DB_PASS“ , 'your_mysql_password' ) ;

apibrėžti ( „DB_NAME“ , „jūsų_duomenų bazės_vardas“ ) ;

Apibrėžkite atsarginių kopijų katalogą, kuriame bus saugomi atsarginės kopijos failai:



apibrėžti ( „BACKUP_DIR“ , „/kelias/į/jūsų/atsarginė kopija/katalogas“ ) ;

Nustatykite atsarginės kopijos failo pavadinimo datos formatą:

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

Apibrėžkite ' atsarginės kopijos_failas “:

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

Norėdami sukurti atsarginę kopiją, naudokite mysqldump įrankį ir pateikite duomenų bazės kredencialus:

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

sistema ($ komanda);

Suspauskite atsarginės kopijos failą naudodami „ gzip “ įrankis:

$gzip_command = 'gzip '.$backup_file;

system($gzip_command);

Įveskite šią kodo dalį, kad pašalintumėte senus atsarginės kopijos failus, šiame įraše failai yra ' 7 “ dienų senumo bus ištrintas:

$find_command = 'rasti '.BACKUP_DIR.' -type f -name '*.gz' -mtime +7 -delete';

sistema($rasti_komandą);

Išsaugokite failą ir paleiskite jį, kad patvirtintumėte, ar sukurta atsarginė failo kopija, ar ne. Atidarykite kodo rengyklės terminalą ir įveskite komandą, kad paleistumėte failą:

php .\db_backup.php

Išvardykite katalogą, kad pamatytumėte, ar atsarginės kopijos failas yra. Išvestyje rodomas sėkmingai sukurtas atsarginės kopijos failas:

Norėdami automatizuoti atsarginės kopijos kūrimo procesą, atidarykite pradžios meniu, ieškokite „ Darbų planuotojas “ ir spustelėkite „ Atviras “ mygtukas:

Nuo ' Veiksmai “ ir paspauskite „ Sukurti užduotį “ variantas:

Atsidarys naujas vedlys. Eikite į ' Generolas “ skirtuką ir pateikite užduoties pavadinimą. Pasirinkite parinktį, kuri užtikrina atsarginę kopiją, net jei vartotojas yra atsijungęs:

Eikite į „ Trigeriai “ skirtuką ir paspauskite „ Nauja “ mygtukas:

Pasirinkite parinktį ' Pagal grafiką “. Pasirinkite suplanuotą laiką kaip „ Kasdien “ ir sureguliuokite „ Pradėti ' laikas. Išplėstiniuose nustatymuose pažymėkite „ Įjungtas “ parinktį ir paspauskite „ Gerai “ mygtukas:

Būsena pasikeis į „ Įjungtas “:

pasirinkite ' Veiksmai “ skirtuką ir spustelėkite „ Nauja “ mygtukas:

Įveskite „Veiksmo“ pavadinimą ir suraskite „ Programa/scenarijus ' PHP failą, kurį sukūrėte ir ' Pridėkite argumentų “ ir spustelėkite „ Gerai “:

Veiksmas bus sėkmingai sukurtas:

eikite į ' Sąlygos “ skirtuką ir pažymėkite žymimąjį laukelį “ Pažadinkite kompiuterį, kad atliktumėte šią užduotį “:

Viduje ' Nustatymai “ skirtuką ir pasirinkite parinktis, rodomas išvestyje, sureguliuokite iš naujo paleidimo laiką ir spustelėkite „ Gerai “ mygtukas:

Pasirodys raginimas, įveskite kredencialus ir spustelėkite „ Gerai “ mygtukas:

Jūsų MySQL duomenų bazės atsarginė kopija bus automatiškai sukurta. Patikrinkite atsarginių kopijų katalogą, kad pamatytumėte atsargines kopijas, kai reikia:

Sėkmingai sukūrėte PHP failą, kad sukurtumėte atsarginę MySQL duomenų bazę, o tada automatizuodami atsarginės kopijos kūrimo procesą naudojote užduočių planuoklį.

Išvada

Naudokite kodo rengyklę, kad sukurtumėte PHP failą, pateikite MySQL duomenų bazės kredencialus ir atsarginės kopijos failo pavadinimo formatą bei datos formatą. Naudokite komandą mysqldump, kad sukurtumėte SQL failą ir gzip įrankį, kad suspaustumėte SQL failą. Naudokite užduočių planuoklį atsarginės kopijos kūrimo procesui automatizuoti. Šis įrašas parodė, kaip automatiškai sukurti atsarginę MySQL duomenų bazės kopiją naudojant PHP.