Överföra eller migrera en MySQL/MariaDB databas mellan servrar tar vanligtvis bara några enkla steg, men dataöverföring kan ta lite tid beroende på mängden data du vill överföra.
I den här artikeln kommer du att lära dig hur du överför eller migrerar alla dina MySQL/MariaDB databaser från gammal Linux-server till en ny server, importera den framgångsrikt och bekräfta att data finns där.
Viktiga anmärkningar
- Se till att ha samma version av MySQL installerad på båda servrarna med samma distribution.
- Se till att ha tillräckligt med ledigt utrymme på både servern för att hålla databasdumpfilen och den importerade databasen.
- Överväg aldrig att flytta
data
katalogen för databasen till en annan server. Bråka aldrig med databasens interna struktur, om du gör det kommer du att möta problem i framtiden.
Exportera en MySQL-databaser till dumpfil
Börja först med att logga in på din gamla server och stoppa mysql/mariadb-tjänsten med systemctl kommando som visas.
# systemctl stop mariadb OR # systemctl stop mysql
Dumpa sedan alla dina MySQL databaser till en enda fil med kommandot mysqldump.
# mysqldump -u [user] -p --all-databases > all_databases.sql
När dumpningen är klar är du redo att överföra databaserna.
Om du vill dumpa en enda databas kan du använda:
# mysqldump -u root -p --opt [database name] > database_name.sql
Överför MySQL-databasdumpfil till ny server
Använd nu scp-kommandot för att överföra din databasers dumpfil till den nya servern under hemkatalogen som visas.
# scp all_databases.sql [email protected]:~/ [All Databases] # scp database_name.sql [email protected]:~/ [Singe Database]
När du ansluter kommer databasen att överföras till den nya servern.
Importera MySQL-databasdumpfil till ny server
När MySQL-dumpfilen har överförts till den nya servern kan du använda följande kommando för att importera alla dina databaser till MySQL.
# mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
När importen är klar kan du verifiera databaserna på båda servrarna med följande kommando i mysql-skalet.
# mysql -u user -p # show databases;
Överför MySQL-databaser och användare till ny server
Om du vill flytta alla dina MySQL-databaser, användare, behörigheter och datastruktur gamla server till ny, kan du använda kommandot rsync för att kopiera allt innehåll från mysql/mariadb datakatalogen till den nya servern som visas.
# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/
När överföringen är klar kan du ställa in äganderätten för mysql/mariadb-datakatalogen till användaren och gruppen mysql, och sedan göra en kataloglista för att kontrollera att alla filer har överförts.
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
Det är allt! I den här artikeln lärde du dig hur du enkelt migrerar alla MySQL/MariaDB-databaser från en server till en annan. Hur hittar du denna metod jämfört med andra metoder? Vi vill gärna höra från dig via kommentarsformuläret nedan för att nå oss.