Spørsmål og svar

Tilbake
Stikkord:  

Hvordan tar jeg backup av MySQL-databasen min?

Vi beskriver her tre metoder for å ta backup av/laste ned din MySQL-database:

  1. Kontrollpanelet på www.domeneshop.no
  2. MySQL WorkBench (enkelt brukergrensesnitt, bruk det på egen PC)
  3. mysqldump (for avanserte brukere, brukes på vår login-server)
  4. phpMyAdmin er også installert, og hvis du er kjent med programvaren, kan du bruke den.

Kontrollpanelet på www.domeneshop.no

Obs! Hvis databasen din er veldig stor, så kan det være umulig å laste den ned på denne måten. Det vil stå advarselsikon () med info om det i kontrollpanelet, og du må da velge en av de andre metodene.

  1. Logg inn på vanlig måte i kontrollpanelet på www.domeneshop.no/login.
  2. Velg domenet fra Mine domener.
  3. Velg fanen Webhotell".
  4. Velg Se på/endre på MySQL-linjen.
  5. Klikk på ... til høyre på linjen for databasen du vil ta backup av.
  6. Klikk på Lagre database til fil Eksporter.
  7. Du får en zip-fil som inneholder en SQL-fil med kopi av databasen.
  8. Du kan gjenopprette ved å pakke ut zip-filen og kjøre SQL-filen som et SQL-script.

MySQL WorkBench

Programmet MySQL Workbench, for Windows, Mac og Linux, er et program som er enkelt å bruke for å administrere og ta backup av en MySQL-database. For å ta backup med MySQL Workbench følger du punktlisten nedenfor. Hvis du allerede har brukt MySQL WorkBench for å koble til databasen din, hopp til punkt 6 om eksportering.

Vi gjør oppmerksom på at MySQL Workbench i nyeste utgave (8.0.19) retter nok et alvorlig sikkerhetshull. Dessverre er de fleste varianter av MySQL Workbench 8 inkompatibel med MySQL 5.7 og MariaDB, og krever MySQL 8. Utvis derfor varsomhet ved bruk av programvaren, og vurder alternativer som f.eks. DBeaver (dbeaver.io).

Følgende veiledning er for eldre (og derfor usikre) utgaver av Workbench.

  1. Sjekk først at du har en støttet versjon, slik at du unngår så mange sikkerhetshull som mulig.
  2. OBS! Versjon 6.3.6 har en alvorlig teknisk feil og kan ikke brukes. Nyere versjoner skal fungere, som f.eks. 6.3.8 i Debian Stretch.
  3. Du vil se denne feilmeldingen nederst i vinduet om du har en utdatert utgave.
  4. Opprett først en tilkoblingsprofil ved å trykke på plusstegnet til høyre for "MySQL Connections".
  5. Fyll ut profilen med den vanlige innloggingsinformasjonen for MySQL.
  6. Når profilen er opprettet, klikk på den for å koble til.
  7. Obs: WorkBench kan gi en advarsel om MySQL-versjon. Dette er ikke et problem, koble til likevel ("Continue anyway").
  8. Gå inn i programmenyen, velg "Server" og så "Data Export".
  9. Velg databasen din (schema) for eksport, og evt. velg vekk tabeller du ikke ønsker fra høyre side på skjermen.
  10. Velg å eksportere backupen til én samlet fil ("Export to Self-Contained File") for å unngå problemer med TCP-ratebegrensninger.
  11. For MySQL WorkBench 8.x og nyere med MySQL 5.6 og MariaDB må du gå inn i "Advanced Options..." og endre "column-statistics" fra TRUE til FALSE.
  12. For fullstendig backup når du har opprettet stored procedures og functions, kryss også av for dette.
  13. Klikk på "Start Export".
  14. Tilsvarende kan du bruke "Server" -> "Data Import" til å gjenopprette fra backup også.

Feilmelding om MySQL-versjon

MySQL WorkBench er laget av Oracle, og vil derfor gi en advarsel om versjonsnummere som de har sterke meninger om. Feilmeldingen starter med omtrent dette: "Incompatible/nonstandard server version or connection protocol detected (10.3.10)" Velg "Continue Anyway" for å få koblet til databasen.


mysqldump-kommandoen

Alternativt kan du i Unix-shell på vår login-server bruke kommandoen mysqldump for å lage en backup av alle data fra databasen din, også kalt en SQL-dump. Dette lager gyldig SQL-kode som kan brukes for å gjenopprette databasen din senere.

Av hensyn til plass- og ressursbruk anbefaler vi at du laster ned slike backuper til din egen PC og sletter de fra webhotellet ditt etterpå.

mysqldump har mange avanserte tilvalg for å eksportere data trygt, vi anbefaler at du setter deg nøye inn i hva du trenger for dine data. På vår login-server er mysqldump hentet fra Debians standardpakke for MariaDB 10.1, dokumentasjon finner du her.

Anbefalte tilvalg for eksport med mysqldump

 --skip-disable-keys --no-autocommit --hex-blob --no-tablespaces

Andre tilvalg

Hvis du vil bruke disse, les dokumentasjonen først, og følg nøye med på evt. feilmeldinger eller advarsler.

 --force --routines --triggers

Hvis du har store BLOB-data, prøv:

 --max-allowed-packet=32M

men ikke større.

MySQL 5.6 og 5.7

Oracle introduserte inkompatible endringer i MySQL 5.6.49 og MySQL 5.7.31, som fjerner tilgangen til metadata man ikke trenger tilgang til.

Hvis du får feilmelding "Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces" så må du bruke dette tilvalget til mysqldump:

 --no-tablespaces

Eksempler for mysqldump

OBS: du vil bli spurt om ditt MySQL-passord, så pass på å holde det klart!

1. Komprimert backup

Her komprimeres SQL-koden med gzip, det må pakkes ut med enten gunzip eller annen programvare som forstår gzip-formatet.

mysqldump DATABASENAVN -uBRUKERNAVN -hDATABASENAVN.mysql.domeneshop.no -p | gzip > filnavn.sql.gz

Erstatt filnavn.sql.gz med det filnavnet du ønsker å lagre dine data i.

Du kan selvsagt bruke annen programvare til å komprimere med.

2. Ukomprimert backup

Hvis du ikke ønsker komprimert backup, dropp gzip og bruk følgende kommando istedenfor:

mysqldump DATABASENAVN -uBRUKERNAVN -hDATABASENAVN.mysql.domeneshop.no -p > filnavn.sql

3. Slik vårt kontrollpanel gjør det

mysqldump DATABASENAVN -uBRUKERNAVN -hDATABASENAVN.mysql.domeneshop.no \
  --skip-opt --single-transaction --set-charset \
  --create-options --quick --force --add-locks --extended-insert \
  --add-drop-table --no-autocommit --routines --triggers -p > filnavn.sql

Se også:

© 2024 Domeneshop AS · Om oss · Vilkår · Personvern