sql >> Database >  >> RDS >> Mysql

Maak fysieke back-ups van uw MariaDB- of MySQL-databases

Terwijl de mysqldump tool is de geprefereerde back-upmethode voor een MariaDB- of MySQL-database of databasesysteem. Het werkt alleen als de databaseserver toegankelijk is en actief is. Als de database niet kan worden gestart of het hostsysteem niet toegankelijk is, kan de database toch rechtstreeks worden gekopieerd.

Een fysieke back-up is vaak nodig in situaties waarin je alleen toegang hebt tot een herstelomgeving (zoals Finnix) waar je de schijven van je systeem koppelt als externe opslagapparaten. Als u meer wilt lezen over logische back-ups met behulp van mysqldump ,zie onze gids over dit onderwerp.

Ter vereenvoudiging wordt in deze handleiding de naam MySQL gebruikt, maar de instructies werken voor zowel MySQL als MariaDB.

Opmerking Voor de stappen in deze handleiding zijn rootrechten vereist. Log in als rootgebruiker met su - voordat je begint.

Maak een back-up

  1. Als u niet in herstelmodus werkt (een Finnix-sessie), stop dan de mysql dienst:

    systemctl stop mysql
    
  2. Zoek uw databasedirectory. Het moet /var/lib/mysql/ . zijn op de meeste systemen, maar als die map niet bestaat, onderzoek dan /etc/mysql/my.cnf voor een pad naar de gegevensmap.

  3. Maak een map om uw back-ups op te slaan. Deze handleiding gebruikt /opt/db-backups maar u kunt dit aanpassen aan uw behoeften:

    mkdir /opt/db-backups
    
  4. Kopieer de gegevensmap van MySQL naar een opslaglocatie. De cp commando, rsync , of andere methoden werken prima, maar we gebruiken tar om de back-up recursief te kopiëren en in één keer te gzip. Wijzig de databasedirectory, back-upbestandsnaam en doeldirectory indien nodig; de -$(date +%F) naast de opdracht wordt een tijdstempel in de bestandsnaam ingevoegd.

    tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
    
  5. Start de MySQL-service opnieuw:

    systemctl restart mysql
    

Een back-up herstellen

  1. Verander uw werkmap naar een plaats waar u de hierboven gemaakte tarball kunt extraheren. In dit voorbeeld wordt de basismap van de huidige gebruiker gebruikt:

    cd
    
  2. Stop de mysql dienst:

    systemctl stop mysql
    
  3. Pak de tarball uit in de werkmap. Wijzig de bestandsnaam van de tarball in de opdracht in die met de datum waarnaar u wilt herstellen.

     tar zxvf /opt/db-backups/db-archive.tar.gz -C .
    
  4. Verplaats de huidige inhoud van /var/lib/mysql naar een andere locatie als u ze om welke reden dan ook wilt bewaren, of helemaal wilt verwijderen. Maak een nieuwe lege mysql map waarin u uw geback-upte DMBS wilt herstellen.

    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    
  5. Kopieer het geback-upte databasesysteem naar de lege map:

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. Stel de juiste machtigingen in voor de bestanden die u zojuist hebt hersteld:

    chown -R mysql:mysql /var/lib/mysql
    
  7. Start de MySQL-service opnieuw:

    systemctl restart mysql
    

Meer informatie

U kunt de volgende bronnen raadplegen voor aanvullende informatie over dit onderwerp. Hoewel deze worden verstrekt in de hoop dat ze nuttig zullen zijn, houd er rekening mee dat we niet kunnen instaan ​​voor de nauwkeurigheid of tijdigheid van extern gehost materiaal.

  • Overzicht back-up en herstel; MariaDB-bibliotheek
  • Databaseback-upmethoden; MySQL-referentiehandleiding

  1. Draaitabel met niet-kardinale waarden

  2. Hoe Atanh() werkt in PostgreSQL

  3. Is het mogelijk om een ​​variabele te gebruiken en geen retourtype op te geven in postgreSQL?

  4. Caculate punt 50 mijl afstand (Noord, 45% NE, 45% ZW)