Hvordan overføre alle MySQL-databaser fra gammel til ny server


Overføring eller migrering av en MySQL/MariaDB-database mellom servere tar vanligvis bare noen få enkle trinn, men dataoverføring kan ta litt tid avhengig av datavolumet du ønsker å overføre.

I denne artikkelen vil du lære hvordan du overfører eller migrerer alle MySQL/MariaDB-databasene dine fra en gammel Linux-server til en ny server, importerer den og bekrefter at dataene er der.

Viktige notater

  • Sørg for å ha samme versjon av MySQL installert på begge serverne med samme distribusjon.
  • Sørg for å ha nok ledig plass på begge serverne til å holde databasedumpfilen og den importerte databasen.
  • Vurder aldri å flytte data-katalogen til databasen til en annen server. Røl aldri med den interne strukturen til databasen, hvis du gjør det, vil du møte problemer i fremtiden.

Eksporter en MySQL-database til dumpfil

Start først med å logge på din gamle server og stopp mysql/mariadb-tjenesten ved å bruke systemctl-kommandoen som vist.

systemctl stop mariadb
OR
systemctl stop mysql

Dump deretter alle MySQL-databasene dine i én enkelt fil ved å bruke mysqldump-kommandoen.

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

Når dumpingen er fullført, er du klar til å overføre databasene.

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

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

Overfør MySQL-databasedumpfil til ny server

Bruk nå scp-kommandoen til å overføre databasedumpfilen til den nye serveren under hjemmekatalogen som vist.

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

Når du kobler til, vil databasen bli overført til den nye serveren.

Importer MySQL-databasedumpfil til ny server

Når MySQL-dumpfilen er overført til den nye serveren, kan du bruke følgende kommando til å importere alle databasene dine 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 fullført, kan du bekrefte databasene på begge serverne ved å bruke følgende kommando på mysql-skallet.

mysql -u user -p
show databases;

Overfør MySQL-databaser og brukere til ny server

Hvis du vil flytte alle MySQL-databasene, brukerne, tillatelsene og datastrukturens gamle server til den nye, kan du bruke rsync-kommandoen til å kopiere alt innholdet fra mysql/mariadb-datakatalogen til den nye serveren som vist.

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

Når overføringen er fullført, kan du angi eierskapet til mysql/mariadb-datakatalogen til brukeren og gruppen mysql, og deretter gjøre en katalogoppføring for å sjekke at alle filene er overført.

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

Hvordan migrere MySQL-database ved hjelp av GUI

Moderne databaseverktøy gjør det mulig for brukere å strømlinjeforme MySQL-databasemigreringsoppgaver. Hovedfaktoren er et brukervennlig grafisk grensesnitt som leder dem gjennom hvert trinn i migreringsprosessen. Oppgavekonfigurasjonen tar noen få klikk – du trenger ikke å skrive inn noen kommandoer manuelt for å overføre MySQL-databasen til en ny destinasjon.

Vanligvis støtter slike verktøy ulike metoder for å overføre hele databasene eller deres deler. Det kan være sikkerhetskopiering og gjenoppretting, kopiering av databaser, dataimport og eksport, etc.

Dessuten kan et MySQL-datamigreringsverktøy være en frittstående løsning eller en del av et mye kraftigere verktøysett som dbForge Studio for MySQL, egnet til å dekke alle de andre databaseoppgavene.

Det er alt! I denne artikkelen lærte du hvordan du enkelt kan migrere alle MySQL/MariaDB-databaser fra en server til en annen. Hvordan finner du denne metoden sammenlignet med andre metoder? Vi vil gjerne høre fra deg via kommentarskjemaet nedenfor for å nå oss.