Mens mysqldump
værktøj er den foretrukne sikkerhedskopieringsmetode til en MariaDB- eller MySQL-database eller et databasesystem, det virker kun, når databaseserveren er tilgængelig og kører. Hvis databasen ikke kan startes, eller værtssystemet er utilgængeligt, kan databasen stadig kopieres direkte.
En fysisk backup er ofte nødvendigt i situationer, hvor du kun har adgang til et gendannelsesmiljø (såsom Finnix), hvor du monterer dit systems diske som eksterne lagerenheder. Hvis du vil læse om logiske sikkerhedskopier ved hjælp af mysqldump
,se vores guide om emnet.
For forenkling vil navnet MySQL blive brugt i hele denne vejledning, men instruktionerne vil fungere for både MySQL og MariaDB.
Bemærk Trinene i denne vejledning kræver root-privilegier. Log ind som root-bruger med su -
før du begynder.
Opret en sikkerhedskopi
-
Hvis du ikke kører i gendannelsestilstand (en Finnix-session), skal du stoppe
mysql
service:systemctl stop mysql
-
Find dit databasebibliotek. Det skal være
/var/lib/mysql/
på de fleste systemer, men hvis den mappe ikke findes, skal du undersøge/etc/mysql/my.cnf
for en sti til databiblioteket. -
Opret en mappe til at gemme dine sikkerhedskopier. Denne vejledning vil bruge
/opt/db-backups
men du kan ændre dette, så det passer til dine behov:mkdir /opt/db-backups
-
Kopier MySQLs datamappe til en lagerplacering.
cp
kommando,rsync
, eller andre metoder vil fungere fint, men vi brugertar
for rekursivt at kopiere og gzip sikkerhedskopien på én gang. Skift databasebiblioteket, backupfilnavnet og målbiblioteket efter behov;-$(date +%F)
tilføjelse til kommandoen vil indsætte et tidsstempel i filnavnet.tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
-
Genstart MySQL-tjenesten:
systemctl restart mysql
Gendan en sikkerhedskopi
-
Skift din arbejdsmappe til et sted, hvor du kan udtrække den ovenfor oprettede tarball. Den aktuelle brugers hjemmemappe bruges i dette eksempel:
cd
-
Stop
mysql
service:systemctl stop mysql
-
Udpak tarballen til arbejdsmappen. Skift tarballens filnavn i kommandoen til det med den dato, du vil gendanne til.
tar zxvf /opt/db-backups/db-archive.tar.gz -C .
-
Flyt det aktuelle indhold af
/var/lib/mysql
til en anden placering, hvis du af en eller anden grund vil beholde dem eller slette dem helt. Opret en ny tommysql
mappe for at gendanne din sikkerhedskopierede DMBS i.mv /var/lib/mysql /var/lib/mysql-old mkdir /var/lib/mysql
-
Kopier det sikkerhedskopierede databasesystem til den tomme mappe:
mv ~/var/lib/mysql/* /var/lib/mysql
-
Indstil de korrekte tilladelser for de filer, du lige har gendannet:
chown -R mysql:mysql /var/lib/mysql
-
Genstart MySQL-tjenesten:
systemctl restart mysql
Flere oplysninger
Du ønsker måske at konsultere følgende ressourcer for yderligere oplysninger om dette emne. Selvom disse leveres i håb om, at de vil være nyttige, bemærk venligst, at vi ikke kan stå inde for nøjagtigheden eller aktualiteten af eksternt hostede materialer.
- Oversigt over sikkerhedskopiering og gendannelse; MariaDB bibliotek
- Database backup metoder; MySQL Reference Manual