En PHP Script for å sikkerhetskopiere en MySQL database

PHP har mange funksjoner som lar deg kommunisere med en MySQL database. Du kan bruke disse til å koble til og spørretabeller for bruk på nettstedet ditt, og selv bruke noen å ta sikkerhetskopi av informasjonen i databasen. Du kan skrive en database backup-funksjon i et PHP-skript og kaller det så ofte du trenger å sikkerhetskopiere databasen til filer som er lagret på webserveren.

Etablere en tilkobling

Du må koble til MySQL-databasen selv før du kan sikkerhetskopiere den. Bruk "mysql_connect" -funksjonen til å logge på en database server, som gir vertsnavn, brukernavn og passord som argumenter, og deretter bruke "mysql_select_db" funksjonen for å velge en database på serveren. Du bør inneholde noen feilbehandling inn i tilkoblingskode, for eksempel hva du skal gjøre hvis PHP ikke kan opprette en tilkobling eller tabellen finnes ikke i databasen.

Få tabellene

Den "mysql_query" -funksjonen lar deg sende en spørring til databasen. For å få en liste over alle tabeller i databasen, skriv "mysql_query ( 'Vis tabeller')", og lagre resultatet til en variabel. Deretter kaller "mysql_fetch_row" -funksjonen på en stund loop for å lagre hver tabell navn til en variabel array, hver verdi i matrisen som inneholder en tabell navn. På denne måten kan du rekursivt få informasjon fra hvert bord for å sikkerhetskopiere den.

Samle Data

Innsamling av struktur og informasjon fra databasen er det største skrittet i sikkerhetskopieringen. Lag en "foreach" loop som gjennomgår hvert bord i variabelen array. Hver gang gjennom, må du sende en forespørsel til MySQL database som velger all informasjon fra en gitt tabell. Med denne informasjonen, du sløyfe gjennom det å bygge strenger for backup fil som kan re-sette inn data i databasen, inkludert "drop" og "skape" table spørsmål samt sette inn spørringer som bruker riktig MySQL syntaks. Denne måten, hvis du noen gang trenger å bruke sikkerhetskopifilen til å gjenskape en database, trenger du bare laste opp en fil til å gjøre alt arbeidet. For alle data samlet inn i looper, føyer informasjonen til en PHP variabel.

Lagre en fil

Med hele databasen herunder struktur og data som er lagret i en enkelt variabel, må du lagre denne informasjonen i en fil. Bruk "fopen" funksjonen for å åpne en ny skrivbar fil. Sørg for at filnavnet du gir er unik. For eksempel bruke "tid" -funksjonen til tidsstempel filen for å garantere deg aldri overskrive en gammel backup. Bruk "fwrite" funksjonen for å skrive databasen informasjon til filen, og deretter lukke den ved hjelp av "fclose" -funksjonen. Disse handlingene skape backup av MySQL-databasen på webserveren, som du kan la det for sikkerhets skyld eller laste ned til din lokale maskin.