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.