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å nemme trin, men dataoverførsel kan tage noget tid afhængigt af mængden af data, du 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, importerer den med succes og bekræfter, at dataene er der.

  • Sørg for at have den samme version af MySQL installeret på begge serverer med samme distribution.
  • Sørg for at have tilstrækkelig ledig plads på både serveren til at indeholde databasedumpfilen og den importerede database.
  • Overvej aldrig at flytte biblioteket data til databasen til en anden server. Rød aldrig med den interne struktur i databasen, hvis du gør det, vil du stå over for problemer i fremtiden.

Eksporter MySQL-databaser til dumpfil

Start først med at logge ind på din gamle server, og stop mysql/mariadb-tjenesten ved hjælp af systemctl-kommandoen 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 dumpen er afsluttet, er du klar til at overføre databaser.

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

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

Overfør MySQL-databaser Dump-fil til ny server

Brug nu kommandoen scp til at overføre din databasedumpfil til den nye server under hjemmekataloget som vist.

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

Når du opretter forbindelse, overføres databasen til den nye server.

Importer MySQL-databaser Dump-fil til ny server

Når MySQL-dumpfilen er 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 afsluttet, kan du kontrollere databaserne på begge servere ved hjælp af følgende kommando på mysql-shell.

# mysql -u user -p
# show databases;

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

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

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

Når overførslen er afsluttet, kan du indstille ejerskabet af mysql/mariadb-datakataloget til brugeren og gruppere mysql og derefter foretage en katalogoversigt 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 migrerer 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 nedenstående kommentarformular for at nå os.