sql >> Databasteknik >  >> RDS >> Mysql

Hur man överför alla MySQL-databaser från gammal till ny server

Ö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.


  1. MySQL-prestanda:Konvertera MySQL till MariaDB

  2. Hur man implementerar SQLCipher när man använder SQLiteOpenHelper

  3. SQL Server Texttyp kontra varchar datatyp

  4. 5 knep för att säkerställa toppprestanda i SQL Server