Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak przenieść wszystkie bazy danych MySQL ze starego na nowy serwer?

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ć.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migracja MySQL do PostgreSQL na AWS RDS, część 2

  2. Przyznaj MySQL uprawnienia do tabel i kolumn

  3. Jak obliczyć współczynnik konwersji w MySQL?

  4. Jak dodać funkcję levenshtein w mysql?

  5. Znajdź odległość między dwoma punktami za pomocą szerokości i długości geograficznej w mysql