✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Kuinka varmuuskopioida MySQL-tietokanta PHP: llä

19

Etsitkö varmuuskopiota tietokannasta PHP-projekteihisi? On aina suositeltavaa varmuuskopioida tietokanta säännöllisesti. Näin tekemällä sivustosi tiedot ovat aina turvassa, jos tietokannassasi ilmenee ongelmia. Tässä artikkelissa näytämme, kuinka varmuuskopioida MySQL-tietokanta säännöllisesti ja tallentaa se palvelimellesi.

Tämä artikkeli on kirjoitettu projekteille, jotka ovat sisäänrakennettu PHP-ydin eikä CMS: ää tai Frameworkia. CMS: llä, kuten WordPress, on useita laajennuksia, kuten UpdraftPlus, tietokannan varmuuskopiointia varten. Laravel-verkkosivustoilla käyttäjä voi käyttää paketteja, kuten laravel-backup, samoihin tarkoituksiin.

Spatie- tiimi on kehittänyt paketin, joka on hyödyllinen tietokannan varmuuskopioinnissa PHP- ydinprojekteissa. Tämä paketti tukee MySQL: ää, PostgreSQL: ää, SQLite: tä ja MongoDB: tä. Keskustelemme MySQL-tietokannasta tässä artikkelissa. Katsotaanpa, miten tämä paketti toimii tietokannan varmuuskopioinnissa.

MySQL-tietokannan varmuuskopiointi PHP: n avulla

Ennen kuin jatkat, varmista, että sinulla on tietokannan kirjautumistiedot ja Composer on asennettu järjestelmään.

Seuraavaksi avaa pääte projektin juurihakemistossa ja asenna paketti suorittamalla alla oleva komento.

composer require spatie/db-dumper

Luo paketin asennuksen yhteydessä hakemisto db-backups(voit antaa minkä tahansa nimen), johon voit tallentaa SQL-varmuuskopiotiedostot. Luo myös tiedosto backup-database.phpja lisää siihen alla oleva koodi.

<?php
require_once "vendor/autoload.php";
 
SpatieDbDumperDatabasesMySql::create()
    ->setDbName('DB_NAME')
    ->setUserName('DB_USER_NAME')
    ->setPassword('DB_PASSWORD')
    ->dumpToFile('db-backups/'.time().'_dump.sql');

Muista korvata paikkamerkit todellisilla arvoilla. Yllä olevassa koodissa lisäimme nykyisen ajan SQL-tiedostoon pitämään erilliset tiedostojen nimet. Se tyhjentää tietokannan ja tallentaa sen annettuun SQL-tiedostoon.

Paketti antaa enemmän vaihtoehtoja samalla kun pudotat tietokannan. Voit esimerkiksi sulkea tietyt taulukot varmuuskopiosta toimittamalla poissulkevat taulukot -taulukon kuten alla.

<?php
SpatieDbDumperDatabasesMySql::create()
    ->setDbName('DB_NAME')
    ->setUserName('DB_USER_NAME')
    ->setPassword('DB_PASSWORD')
    ->excludeTables(['table1', 'table2', 'table3'])
    ->dumpToFile('db-backups/'.time().'_dump.sql');

Varmuuskopioi MySQL-tietokanta automaattisesti

Toistaiseksi sinulla on PHP-tiedosto, joka vie tietokannastasi varmuuskopion. Seuraava tehtävä on automatisoida varmuuskopiointi, jotta saat varmuuskopiot suorittamatta komentosarjaa manuaalisesti.

Kun isännöit sivustoa palvelimella, palveluntarjoajasi antaa sinulle cPanelin, jossa näet verkkosivuston hallinnan perus- ja lisäasetukset. Yksi heidän tarjoamansa ominaisuus on "Cron Jobs". Cron-töiden avulla voit suorittaa tietyn komentosarjan (PHP-tiedosto) tietyllä aikavälillä taustalla. Sinun tarvitsee vain asettaa intervalli ja siirtää PHP-tiedoston hakemistopolku. Tämän jälkeen palvelimesi suorittaa komentosarjan taustalla määrätyin väliajoin.

Määritä Cron kirjautumalla cPaneliin ja napsauttamalla ‘Cron Jobs’, jonka saatat löytää Advanced-osiosta.

Kuinka varmuuskopioida MySQL-tietokanta PHP: llä

Valitse seuraavalla sivulla Lisää uusi asiakastyö -osiossa avattavaksi Yhteiset asetukset -valikosta Kerran päivässä. Se tarkoittaa, että komentosarjasi suoritetaan kerran päivässä. Käyttäjä voi asettaa minkä tahansa aikavälin vaatimuksesta riippuen.

Kuinka varmuuskopioida MySQL-tietokanta PHP: llä

Siirrä komento-osassa PHP-tiedoston polku seuraavasti:

php /home/username/public_html/backup-database.php

Säädä komentosarjojen polku isännöintikokoonpanojesi mukaan ja lähetä se. Tämän jälkeen palvelimesi alkaa suorittaa komentosarjaa päivittäin keskiyöllä. Ja tämä komentosarja tallentaa MySQL-tietokannasi automaattisesti määritettyyn hakemistoon (esim. Db-varmuuskopiot).

Toivomme, että ymmärrät kuinka tehdä MySQL-tietokannan varmuuskopiointi PHP: ssä ja automatisoida prosessi Cronin avulla. Haluamme kuulla ajatuksesi tai ehdotuksesi alla olevassa kommenttiosassa.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja