Sådan eksporteres og importeres alle MySQL-databaser

Mange udviklere og pro brugere er afhængige af MySQL for deres database behov. Vi vil gennemgå, hvordan du eksporterer eller dumper alle databaser fra MySQL, dump en enkelt database, og viser også, hvordan du importerer alle disse databaser fra en database.sql-fil tilbage til MySQL.

Mens der er GUI-baserede værktøjer til at interagere med MySQL, vil vi fokusere på kommandolinjen her. MySQL-kommandoerne arbejder med enhver version af databaseprogrammet på et hvilket som helst unix-operativsystem, herunder Linux, Mac OS og Mac OS X, eller hvad som helst du tilfældigvis kører mySQL på.

Vi kommer til at antage, at du allerede har MySQL installeret og kører, hvis du ikke kan lære at starte og stoppe MySQL-serveren på Mac OS her og kan downloade MySQL her, eller hvis du leder efter en hel webserverstack, skal du tjekke nem at bruge MAMP til Mac.

Sådan dumpes alle databaser fra MySQL via Command Line

Den nemmeste måde at dumpe alle databaser fra MySQL til en .sql-fil til backup eller migration eller på anden måde, bruger all-databaserne flag som sådan:

mysqldump --all-databases > all_databases_dump.sql

Fordi denne kommando eksporterer alle databaser, er der ikke behov for at angive et databasens navn. Alle databaser, der er gemt i mySQL, bliver dumpet til eksportfilen "all_databases_dump.sql" i den nuværende arbejdsmappe.

Hvis det er nødvendigt, kan du også angive et brugernavn og kodeord, når alle databaser dumpes, i dette tilfælde med brugernavnet som root:

mysqldump -u root -p --all-databases > all_databases.sql

Efter at mysql-databasen er blevet dumpet, er min personlige præference at lave en tjære gzip fra den som beskrevet her, men det er helt valgfrit.

Sådan eksporteres en bestemt database fra MySQL

Hvis du ønsker at dumpe en bestemt database ved navn i stedet for at eksportere alle databaser, er det lige så simpelt:

mysqldump database_name > database_name_dump.sql

Kommandoen mysqldump har mange parametre og flag, som kan være nyttige til eksport og sikkerhedskopiering af databaser. Du kan lære mere af den manuelle side med "man mysqldump" eller ved at læse her på dev.mysql hjemmeside.

Sådan importeres alle databaser til MySQL

Selvfølgelig, hvis du har en database dump, er det vigtigt at importere det til MySQL. Her er den nemmeste måde at importere alle databaser fra en database.sql-fil til MySQL via kommandolinje:

mysql database_name < database_dump.sql

Og som at eksportere en database, kan du ved indførsel også angive et brugernavn, hvis det ønskes:

mysql -u root -p < database_dump.sql

Du angiver også et andet brugernavn eller en database, hvis du ønsker det:

mysql -u user -p database_name < database_dump.sql

Importerer en bestemt database til MySQL

Du kan også importere en bestemt database i en stor dump ved navn:

mysql --one-database database_name < all_databases.sql

Som før, hvis du har problemer med at importere databaser til mysql, kan du henvende dig til den manuelle side med 'man mysql' eller til den officielle dokumentation her på mysql-udviklerens websted.

Kender du nogle interessante tricks til eksport af databaser og import af databaser i MySQL? Lad os vide i kommentarerne!