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.