Spørgsmål og svar

Tilbage
Hvordan tar jeg backup af MySQL-databasen min?

Vi beskriver her tre metoder for at tage backup af/laste ned din MySQL-database:

  1. Kontrolpanelet på www.domaeneshop.dk
  2. MySQL WorkBench (enkelt brugergrænsesnit, brug det på egen PC)
  3. mysqldump (for avancerede brugere, bruges på vores login-server)

Hvad med phpMyAdmin? Vi anbefaler at undgå phpMyAdmin, og ber om, at du ikke bruger den programvaren.


Kontrolpanelet på www.domaeneshop.dk

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

  1. Log på vanlig måde i kontrolpanelet på www.domaeneshop.dk/login.
  2. Vælg domænet fra "Mine domæner".
  3. Vælg fanen "Webhotel".
  4. Vælg "Se på/ændre" på MySQL-linien.
  5. Klik på symbolet med disket (Gem database til fil) til højre på linien for databasen du vil tag backup af.
  6. Du får en zip-fil som indeholder en SQL-fil med kopi af databasen.
  7. Du må genoprette ved at pakke ud zip-filen og køre SQL-filen som et SQL-script.

MySQL WorkBench

Programmet MySQL Workbench, for Windows, Mac og Linux, er et program, der er enkelt at bruge for at administrere og tag backup af en MySQL-database. For at tage backup med MySQL Workbench følger du punktlisten nedenfor. Hvis du allerede har brugt MySQL WorkBench for at koble til databasen din, hop til punkt 6 om eksportering.

Vi gør oppmerksom på, at MySQL Workbench i nyeste utgave (8.0.19) retter nok et alvorlig sikkerhedshuld. Dessverre er de flæste varianter af MySQL Workbench 8 inkompatibel med MySQL 5.7 og MariaDB, og kræver MySQL 8. Utvis derfor varsomhed ved brug af programvaren, og vurder alternativer som f.ex. DBeaver (dbeaver.io).

Følgende vejledning er for ældre (og derfor usikre) utgaver af Workbench.

  1. Tjek først, at du har en støttet version, så du undgår så mange sikkerhedshuld som mulig.
  2. OBS! Version 6.3.6 har en alvorlig teknisk fejl og må ikke bruges. Nyere versioner skal fungere, der f.ex. 6.3.8 i Debian Stretch.
  3. Du vil se denne fejlmældingen nederst i vinduet om du har en uddateret utgave.
  4. Opret først en tilkoblingsprofil ved at trykke på plusstegnet til højre for "MySQL Connections".
  5. Fyld ud profilen med den vanlige indlogningsinformationen for MySQL.
  6. Når profilen er oprettet, klik på den for at koble til.
  7. Obs: WorkBench må give en advarsel om MySQL-version. Dette er ikke et problem, koble til alligevel ("Continue anyway").
  8. Gå ind i programmenuen, vælg "Server" og så "Data Export".
  9. Vælg databasen din (schema) for eksport, og evt. vælg vek tabeller du ikke ønsker fra højre side på skærmen.
  10. Vælg at eksportere backupen til én samlet fil ("Export to Self-Contained File") for at undgå problemer med TCP-ratebegrænsninger.
  11. For MySQL WorkBench 8.x og nyere med MySQL 5.6 og MariaDB skal du gå ind i "Advanced Options..." og ændre "column-statistics" fra TRUE til FALSE.
  12. For fuldstændig backup når du har oprettet stored procedures og functions, kryds også af for dette.
  13. Klik på "Start Export".
  14. Tilsvarende må du bruge "Server" -> "Data Import" til at genoprette fra backup også.

Fejlmælding om MySQL-version

MySQL WorkBench er lavet af Oracle, og vil derfor give en advarsel om versionsnummere som de har sterke meninger om. Fejlmældingen starter med omtrent dette: "Incompatible/nonstandard server version or connection protocol detected (10.3.10)" Vælg "Continue Anyway" for at få koblet til databasen.


mysqldump-kommandoen

Alternativt må du i Unix-shell på vores login-server bruge kommandoen mysqldump for at lave en backup af alle data fra databasen din, også kaldt en SQL-dump. Dette lager gyldig SQL-kode som må bruges for at genoprette databasen din senere.

Af hensyn til plads- og ressourcebrug anbefaler vi, at du laster ned sådanne backuper til din egen PC og sletter de fra webhotellet dit etterpå.

mysqldump har mange avancerede tilvalg for at eksportere data trygt, vi anbefaler, at du setter dig nøje ind i hvad du trenger for dine data. På vores login-server er mysqldump hentet fra Debians standardpakke for MariaDB 10.1, dokumentation finder du her.

Anbefalte tilvalg for eksport med mysqldump

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

Andre tilvalg

Hvis du vil bruge disse, læs dokumentationen først, og følg nøje med på evt. fejlmældinger 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 ændringer i MySQL 5.6.49 og MySQL 5.7.31, der fjerner tilgangen til metadata man ikke trenger tilgang til.

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

 --no-tablespaces

Eksempler for mysqldump

OBS: du vil blive spurt om dit MySQL-adgangskode, så pas på at holde det klart!

1. Komprimert backup

Her komprimeres SQL-koden med gzip, det skal pakkes ud med enten gunzip eller anden programvare som forstår gzip-formatet.

mysqldump DATABASENAVN -uBRUGERNAVN -hDATABASENAVN.mysql.domaeneshop.dk -p | gzip > filnavn.sql.gz

Erstat filnavn.sql.gz med det filnavnet du ønsker at gem dine data i.

Du må selvsagt bruge anden programvare til at komprimere med.

2. Ukomprimert backup

Hvis du ikke ønsker komprimert backup, drop gzip og brug følgende kommando istedenfor:

mysqldump DATABASENAVN -uBRUGERNAVN -hDATABASENAVN.mysql.domaeneshop.dk -p > filnavn.sql

3. Så vores kontrolpanel gør det

mysqldump DATABASENAVN -uBRUGERNAVN -hDATABASENAVN.mysql.domaeneshop.dk \
  --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å:

Søgeord:  

Indholdsfortegnelse

© 2021 Domeneshop AS · Om os · Vilkår · Fortrolighedspolitik