sql >> Database teknologi >  >> RDS >> Mysql

Sådan overføres alle MySQL-databaser fra gammel til ny server

Overførsel eller migrering af en MySQL/MariaDB database mellem servere tager normalt kun få lette trin, men dataoverførsel kan tage noget tid afhængigt af mængden af ​​data, du gerne vil overføre.

I denne artikel lærer du, hvordan du overfører eller migrerer alle dine MySQL/MariaDB databaser fra gammel Linux-server til en ny server, importer den med succes og bekræft, at dataene er der.

Vigtige bemærkninger

  • Sørg for at have den samme version af MySQL installeret på begge servere med samme distribution.
  • Sørg for at have nok ledig plads på både serveren til at opbevare databasedumpfilen og den importerede database.
  • Overvej aldrig at flytte data biblioteket til databasen til en anden server. Rod aldrig med databasens interne struktur, hvis du gør det, vil du møde problemer i fremtiden.

Eksporter en MySQL-database til dumpfil

Start først med at logge ind på din gamle server og stop mysql/mariadb-tjenesten ved hjælp af systemctl kommando som vist.

# systemctl stop mariadb
OR
# systemctl stop mysql

Dump derefter alle dine MySQL databaser til en enkelt fil ved hjælp af mysqldump-kommandoen.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Når dumpet er afsluttet, er du klar til at overføre databaserne.

Hvis du vil dumpe en enkelt database, kan du bruge:

# mysqldump -u root -p --opt [database name] > database_name.sql

Overfør MySQL-databasedumpfil til ny server

Brug nu scp-kommandoen til at overføre din database-dumpfil til den nye server under hjemmebiblioteket som vist.

# scp all_databases.sql [email protected]:~/       [All Databases]
# scp database_name.sql [email protected]:~/       [Singe Database]

Når du forbinder, vil databasen blive overført til den nye server.

Importer MySQL-databasedumpfil til ny server

Når MySQL-dumpfilen er blevet overført til den nye server, kan du bruge følgende kommando til at importere alle dine databaser til 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 er fuldført, kan du verificere databaserne på begge servere ved hjælp af følgende kommando på mysql-skallen.

# mysql -u user -p
# show databases;

Overfør MySQL-databaser og -brugere til ny server

Hvis du vil flytte alle dine MySQL-databaser, brugere, tilladelser og datastruktur gamle server til ny, kan du bruge rsync-kommandoen til at kopiere alt indholdet fra mysql/mariadb-datamappen til den nye server som vist.

# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/ 

Når overførslen er fuldført, kan du indstille ejerskabet af mysql/mariadb-datamappen til bruger og gruppe mysql, og derefter lave en mappeliste for at kontrollere, at alle filer er blevet overført.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

Det er alt! I denne artikel lærte du, hvordan du nemt kan migrere alle MySQL/MariaDB-databaser fra en server til en anden. Hvordan finder du denne metode sammenlignet med andre metoder? Vi vil gerne høre fra dig via kommentarformularen nedenfor for at nå os.


  1. Indstil en offentlig standardprofil for databasemail (SSMS)

  2. Sådan bruger du Sortering (rækkefølge efter) i Vælg erklæring i SQL Server - SQL Server / TSQL Tutorial Del 109

  3. Oprettelse af revisionstriggere i SQL Server

  4. Sådan forbinder du GraphQL og PostgreSQL