Sådan eksporteres og importeres MySQL-databaser

Billede: Jack Wallen

Chancerne er, at dine netværksapplikationer afhænger af databaser. Faktisk afhænger meget af det, du arbejder med, sandsynligvis af en database eller to. På grund af dette er det vigtigt ikke kun at have sikkerhedskopier af disse databaser, men også at være i stand til at eksportere og importere dem fra enten maskine til maskine eller database-server-til-database-server. Sig f.eks. At du migrerer fra MySQL til MariaDB. Hvordan flytter du disse databaser fra den ene server til den næste?

Mere om netværk

  • 7 netværksforudsigelser for 2020: Automation, edge computing, Wi-Fi 6 og mere
  • 8 datacenters forudsigelser for 2020
  • Top 11 lagertrend i de sidste 20 år
  • 5G mobilnetværk: Et snyderi

Jeg viser dig det.

Jeg vil præsentere dette i form af at eksportere en database fra en MySQL-server, kopiere den til en anden server og importere den til den nye MySQL-server. Jeg demonstrerer dette på identiske Ubuntu 18.04 Server-installationer, men processen skal være den samme, uanset din Linux-distribution. Jeg vil også bruge scp-kommandoen til at flytte databasen fra den ene server til den anden. Du skal have adgang til en bruger med sudo-privilegier på den indledende server og MySQL admin-brugeroplysninger på begge sider.

Med alt det der er lagt ud, lad os få den database eksporteret, flyttet og importeret.

Eksport af databasen

I stedet for at teste dette på en produktionsdatabase, opretter vi en testdatabase, der skal bruges til praksis. Når du ved, hvordan det fungerer, kan du derefter køre processen på dine produktionsdatabaser.

For at oprette testdatabasen skal du logge ind på MySQL-prompten (fra den indledende server) med kommandoen:

 mysql -u rod -p 

Opret testdatabasen med kommandoen:

 Opret DATABASE-test; 

Nu hvor vi har vores testdatabase, lad os eksportere den med kommandoen:

 sudo mysqldump - tilføj-drop-table -u root -p test> test.sql 

Du skal nu se dumpfilen test.sql i den aktuelle arbejdsmappe.

Flytning af testfilen

Nu skal vi flytte filen fra en server til en anden. Til dette anvender vi den sikre kopikommando. Lad os sige, at vores nye server er på IP-adresse 192.168.1.100. For at kunne flytte filen udsteder vi kommandoen:

 scp test.sql via : ~ / test.sql 

Hvor USER er en gyldig bruger på fjernserveren.

Du bliver bedt om at bruge USER-adgangskoden på den eksterne maskine. Når den er godkendt, kopieres test.sql-filen.

Importerer testfilen

Derefter importerer vi databasen til den nye servers MySQL-database. Det vil være nødvendigt at kende MySQL root-brugeroplysninger til denne opgave. Log ind på fjernserveren, og importer testdatabasen med kommandoen:

 mysql -u root -p test <test.sql 

Bemærk: Udskift root med dit MySQL admin-brugernavn i kommandoen ovenfor.

Du bliver spurgt om administratorbrugerens adgangskode. Når du har godkendt godkendelsen, importeres databasen. Du kan dobbelttjekke ved at logge ind på MySQL-prompten (ved hjælp af kommandoen mysql -u root -p ) og derefter udstede kommandoen:

 VIS DATABASER; 

Du skal se den importerede database opført ( figur A ).

Figur A

Vores nyligt importerede database, klar til brug.


Enkel migrering af databasen

Og det, mine venner, er alt, hvad der er at migrere en database fra en MySQL-server til en anden. Denne proces fungerer også, hvis du migrerer fra en MySQL-database til en MariaDB-database. Det eneste advarsel kan være, hvis du arbejder med en meget ældre MySQL-database, og der er uoverensstemmelser mellem, hvordan den ældre database håndterede tabeller og / eller data, mod hvordan den nyere MariaDB-server fungerer med tabeller og / eller data. Chancerne er dog, at du ikke bruger en database så gammel, så alt skal fungere fint. Glad migration.

Open Source Ugentlig nyhedsbrev

Du vil ikke gå glip af vores tip, tutorials og kommentarer til Linux OS og open source-applikationer. Leveres tirsdage

Tilmeld dig i dag

© Copyright 2021 | mobilegn.com