MySQL: så här säkerhetskopierar du (dumpar) och återställer databasen med mysqldump
den här artikeln visar hur du dumpar och återställer MySQL-databasen från kommandoraden i Linux med mysqldump och mysql-kommandon.
om du använder MySQL eller MariaDB databaser är det mycket viktigt för dig att förstå hur man tar backup och återställa data. Dessutom måste du hålla regelbundna säkerhetskopior av databasen och detta kommer att hjälpa dig att återställa dina data om din ansökan kraschar eller data är skadad av något systemfel.
MySQL och MariaDB inkluderar kommandoradsverktyg som du kan använda för att snabbt och enkelt dumpa och återställa databaser. Verktyget mysqldump
används för att exportera innehållet i en databas till en textfil, medan klienten mysql
kan användas för att importera data från en textfil till en MySQL/MariaDB-databas.
hur man använder kommandot MySQL Dump
kommandoradsverktyget mysqldump
exporterar databaser till SQL-textfiler. Med andra ord används den för att ta MySQL-databasdumpen.
syntaxen för mysqldump
kommandot ges nedan:
mysqldump -u -p > .sql
där:
- användarnamn är ditt MySQL/MariaDB användarnamn.
- -p fråga efter lösenord för den här användaren.
- databasnamn är namnet på den Databas du vill säkerhetskopiera.
- filnamn.sql är den fullständiga sökvägen till sql-dumpfilen som innehåller säkerhetskopian.
databasprocedurer, funktioner, visningar och händelser dumpas vid säkerhetskopieringen.
mysqldump: säkerhetskopiera en enda MySQL-databas
i det här exemplet heter databasen my_wordpress
. Ersätt detta med namnet på databasen du vill exportera. Enligt syntaxen skapas säkerhetskopian på den aktuella platsen.
mysqldump -u root -p my_wordpress > my_wordpress_backup.sql
när kommandot har körts anger du ditt MySQL-root-lösenord.
detta skapar en MySQL-dumpfil med namnet my_wordpress_backup.sql
som innehåller alla SQL-satser för att skapa tabeller och återställa data till en befintlig databas. Om några fel uppstår under exportprocessen kommer mysqldump
att skriva ut dem på skärmen.
kommandot ger ingen visuell utmatning, men du kan inspektera innehållet i my_wordpress_backup.sql
med huvudkommandot för att kontrollera om det är en legitim MySQL-dumpfil.
head -n 5 my_wordpress_backup.sql
-- MariaDB dump 10.19 Distrib 10.5.9-MariaDB, for Linux (x86_64)-- Host: localhost Database: my_wordpress -- Server version 10.3.27-MariaDB-0+deb10u1
mysqldump: Säkerhetskopiera flera MySQL-databaser
för att säkerhetskopiera flera MySQL-databaser med ett kommando måste du använda alternativet --databases
följt av listan över databaser du vill säkerhetskopiera. Dessutom kan du placera resultatfilen på en plats du väljer.
kör följande kommando för att skapa en MySQL-dumpfil my_backup.sql
i /home/backups
katalog med två databaser med namnet my_wordpress
och ftpusers
.
mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql
mysqldump: säkerhetskopiera alla MySQL-databaser
använd alternativet --all-databases
för att säkerhetskopiera alla MySQL-databaser:
mysqldump -u root -p --all-databases > all_db_backup.sql
hur man skapar en komprimerad MySQL-databas Backup
om databasstorleken är mycket stor är det bra att komprimera utdata. För att göra det rör du bara utmatningen till kommandot gzip
och omdirigerar den till en fil som visas nedan:
mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz
mysql: Återställ MySQL från en MySQL-dumpfil
för att återställa en säkerhetskopia skapad med mysqldump
måste du använda kommandot mysql
.
mysql -u -p < .sql
var
- användarnamn är ditt MySQL/MariaDB användarnamn.
- -p fråga efter lösenord för den här användaren.
- databasnamn är namnet på databasen där du vill återställa.
- filnamn.sql är den fullständiga sökvägen till sql-dumpfilen som innehåller säkerhetskopian.
mysql: Återställ en enda MySQL-databas
du kan återställa alla tabeller från MySQL-dumpfilen i en viss databas.
återställningen utförs helt enkelt med kommandot nedan, där vi återigen anger en användare och uppmanas att ange ett lösenord och skickar filen my_wordpress_backup.sql
till databasen my_wordpress
.
mysql -u root -p my_wordpress < my_wordpress_backup.sql
du kommer att bli ombedd att ange lösenordet för din MySQL-användare.
när detta är klart bör databasen vara tillgänglig i den löpande instansen av MySQL. MySQL-dumpfilen som du importerade från kommer också att finnas kvar, så du kan antingen lagra det säkert vid denna tidpunkt eller ta bort det om det inte längre behövs.
mysql: Återställ alla MySQL-databaser
du kan återställa alla databaser på alla MySQL-servrar till en annan MySQL-server från MySQL-dumpfilen.
mysql -u root -p < all_db_backup.sql
slutsats
nu kan du hålla regelbunden säkerhetskopiering av dina databasfiler och återställa data när det krävs genom att följa stegen ovan.
denna handledning gäller även när du vill migrera till en ny server. Säkerhetskopiera bara databasen på din gamla server och ladda upp MySQL-dumpfilen till den nya servern. Skapa en destinationsdatabas på den nya servern och kör sedan den uppladdade MySQL-dumpfilen i den nya databasen. Dessutom bör du också återskapa användare och behörigheter från den gamla MySQL-servern till den nya.
för mer detaljerad information, här är länken till den officiella dokumentationen.
Leave a Reply