Przenoszenie lub migracja MySQL/MariaDB baza danych między serwerami zwykle zajmuje tylko kilka prostych kroków, ale transfer danych może zająć trochę czasu, w zależności od ilości danych, które chcesz przesłać.
W tym artykule dowiesz się, jak przenieść lub przenieść wszystkie swoje MySQL/MariaDB bazy danych ze starego serwera Linux na nowy serwer, zaimportuj go pomyślnie i potwierdź, że dane tam są.
Ważne uwagi
- Upewnij się, że ta sama wersja MySQL jest zainstalowana na obu serwerach z tą samą dystrybucją.
- Upewnij się, że na obu serwerach jest wystarczająco dużo wolnego miejsca, aby pomieścić plik zrzutu bazy danych i importowaną bazę danych.
- Nigdy nie myśl o przenoszeniu
data
katalog bazy danych na inny serwer. Nigdy nie zadzieraj z wewnętrzną strukturą bazy danych, jeśli to zrobisz, napotkasz problemy w przyszłości.
Eksportuj bazy danych MySQL do pliku zrzutu
Zacznij od zalogowania się na starym serwerze i zatrzymaj usługę mysql/mariadb za pomocą systemctl polecenie, jak pokazano.
# systemctl stop mariadb OR # systemctl stop mysql
Następnie zrzuć cały swój MySQL bazy danych do pojedynczego pliku za pomocą polecenia mysqldump.
# mysqldump -u [user] -p --all-databases > all_databases.sql
Po zakończeniu zrzutu możesz przenieść bazy danych.
Jeśli chcesz zrzucić pojedynczą bazę danych, możesz użyć:
# mysqldump -u root -p --opt [database name] > database_name.sql
Przenieś plik zrzutu baz danych MySQL na nowy serwer
Teraz użyj polecenia scp, aby przesłać plik zrzutu bazy danych na nowy serwer w katalogu domowym, jak pokazano.
# scp all_databases.sql [email protected]:~/ [All Databases] # scp database_name.sql [email protected]:~/ [Singe Database]
Po połączeniu baza danych zostanie przeniesiona na nowy serwer.
Importuj plik zrzutu baz danych MySQL na nowy serwer
Gdy plik zrzutu MySQL zostanie skierowany do nowego serwera, możesz użyć następującego polecenia, aby zaimportować wszystkie bazy danych do MySQL.
# mysql -u [user] -p --all-databases < all_databases.sql [All Databases] # mysql -u [user] -p newdatabase < database_name.sql [Singe Database]
Po zakończeniu importu możesz zweryfikować bazy danych na obu serwerach za pomocą następującego polecenia w powłoce mysql.
# mysql -u user -p # show databases;
Przenieś bazy danych MySQL i użytkowników na nowy serwer
Jeśli chcesz przenieść wszystkie swoje bazy danych MySQL, użytkowników, uprawnienia i strukturę danych ze starego serwera na nowy, możesz użyć polecenia rsync, aby skopiować całą zawartość z katalogu danych mysql/mariadb na nowy serwer, jak pokazano.
# rsync -avz /var/lib/mysql/* [email protected]:/var/lib/mysql/
Po zakończeniu przesyłania możesz ustawić własność katalogu danych mysql/mariadb na użytkownika i grupę mysql, a następnie wykonać listę katalogów, aby sprawdzić, czy wszystkie pliki zostały przeniesione.
# chown mysql:mysql -R /var/lib/mysql/ # ls -l /var/lib/mysql/
To wszystko! W tym artykule dowiedziałeś się, jak w prosty sposób przenieść wszystkie bazy danych MySQL/MariaDB z jednego serwera na drugi. Jak oceniasz tę metodę w porównaniu z innymi metodami? Chcielibyśmy usłyszeć od Ciebie za pośrednictwem poniższego formularza komentarza, aby się z nami skontaktować.