Hoe alle MySQL-databases te exporteren en importeren

Veel ontwikkelaars en pro-gebruikers vertrouwen op MySQL voor hun databasebehoeften. We zullen doorlopen hoe je alle databases uit MySQL kunt exporteren of dumpen, een enkele database kunt dumpen en hoe je al die databases uit een database.sql-bestand kunt importeren in MySQL.

Hoewel er op GUI gebaseerde tools zijn voor interactie met MySQL, gaan we ons concentreren op de commandolijn hier. De MySQL-commando's werken met elke versie van de databasesoftware op elk Unix-besturingssysteem, inclusief Linux, Mac OS en Mac OS X, of wat dan ook waar je mySQL op draait.

We gaan ervan uit dat je MySQL al geïnstalleerd en actief hebt, anders kun je hier leren over het starten en stoppen van MySQL-server op Mac OS en MySQL hier downloaden of als je op zoek bent naar een hele webserverstack, bekijk dan de eenvoudig te gebruiken MAMP voor Mac.

Alle databases uit MySQL dumpen via de opdrachtregel

De eenvoudigste manier om alle databases van MySQL naar een .sql-bestand te dumpen voor back-up of migratie of anders, gebruikt de vlag -all-databases zoals:

mysqldump --all-databases > all_databases_dump.sql

Omdat met deze opdracht alle databases worden geëxporteerd, hoeft u geen databasenaam op te geven. Alle databases die zijn opgeslagen in mySQL worden in het exportbestand "all_databases_dump.sql" in de huidige werkmap gedumpt.

Indien nodig kunt u ook een gebruikersnaam en wachtwoord opgeven bij het dumpen van alle databases, zoals zo, in dit geval met de gebruikersnaam als root:

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

Nadat de mysql-database is gedumpt, is mijn persoonlijke voorkeur om hier een tar-gzip van te maken zoals hier beschreven, maar dat is volledig optioneel.

Hoe een specifieke database uit MySQL te exporteren

Als u een specifieke database per naam wilt dumpen in plaats van alle databases te exporteren, is dat net zo eenvoudig:

mysqldump database_name > database_name_dump.sql

De opdracht mysqldump heeft veel parameters en vlaggen die kunnen helpen bij het exporteren en maken van back-ups van databases. U kunt meer informatie vinden op de man-pagina met "man mysqldump" of door hier op dev.mysql-website te lezen.

Hoe alle databases in MySQL te importeren

Natuurlijk, als je een database dump hebt, is het belangrijk om dat in MySQL te importeren. Dit is de eenvoudigste manier om alle databases uit een database.sql-bestand via de opdrachtregel in MySQL te importeren:

mysql database_name < database_dump.sql

En net als bij het exporteren van een database, kunt u bij het importeren ook een gebruikersnaam opgeven als u dat wilt:

mysql -u root -p < database_dump.sql

Je kunt ook een andere gebruikersnaam of database opgeven als je dat wilt:

mysql -u user -p database_name < database_dump.sql

Een specifieke database importeren in MySQL

U kunt ook een specifieke database in een grote dump op naam importeren:

mysql --one-database database_name < all_databases.sql

Net als eerder, als je problemen hebt met het importeren van databases in mysql, kun je naar de handleidingpagina met 'man mysql' of de officiële documentatie hier op de mysql-ontwikkelaarswebsite gaan.

Weet u enige interessante trucs voor het exporteren van databases en het importeren van databases in MySQL? Laat het ons weten in de reacties!