sql >> Database teknologi >  >> RDS >> Mysql

Opret fysiske sikkerhedskopier af dine MariaDB- eller MySQL-databaser

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

  1. Hvis du ikke kører i gendannelsestilstand (en Finnix-session), skal du stoppe mysql service:

    systemctl stop mysql
    
  2. 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.

  3. 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
    
  4. Kopier MySQLs datamappe til en lagerplacering. cp kommando, rsync , eller andre metoder vil fungere fint, men vi bruger tar 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/*
    
  5. Genstart MySQL-tjenesten:

    systemctl restart mysql
    

Gendan en sikkerhedskopi

  1. Skift din arbejdsmappe til et sted, hvor du kan udtrække den ovenfor oprettede tarball. Den aktuelle brugers hjemmemappe bruges i dette eksempel:

    cd
    
  2. Stop mysql service:

    systemctl stop mysql
    
  3. 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 .
    
  4. 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 tom mysql mappe for at gendanne din sikkerhedskopierede DMBS i.

    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    
  5. Kopier det sikkerhedskopierede databasesystem til den tomme mappe:

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. Indstil de korrekte tilladelser for de filer, du lige har gendannet:

    chown -R mysql:mysql /var/lib/mysql
    
  7. 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

  1. Generer serier af datoer - brug datotype som input

  2. Hvad er forskellene mellem et klynget og et ikke-klynget indeks?

  3. Udskiftning af SQL-markører med alternativer for at undgå præstationsproblemer

  4. oracle-databaseforbindelse i web.config asp.net