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

Importowanie zi eksportowanie do plików za pomocą wiersza poleceń MySQL

Aby eksportować lub importować za pomocą MySQL, zacznij od zalogowania się na swój serwer, najlepiej za pomocą sudo dostęp (root).

Eksportowanie z MySQL

Najlepszym narzędziem do eksportowania bazy danych MySQL do pliku tekstowego jest mysqldump .

Aby użyć mysqldump , musisz znać dane logowania odpowiedniego użytkownika MySQL który ma niezbędne uprawnienia do wyeksportowania danej bazy danych.

Mając te informacje pod ręką, wprowadź mysqldump polecenie z odpowiednimi flagami i opcjami:

$ mysqldump -u my_username -p database_name > output_file_path

Używane opcje to:

  • -u flaga wskazuje, że nazwa użytkownika MySQL nastąpi.
  • -p flaga wskazuje, że powinniśmy zostać poproszeni o podanie hasła powiązane z powyższą nazwą użytkownika .
  • nazwa_bazy to oczywiście dokładna nazwa bazy danych do wyeksportowania.
  • > symbol to dyrektywa uniksowa dla STDOUT , co umożliwia poleceniom Uniksa wyprowadzanie wyników tekstowych wydanego polecenia do innej lokalizacji. W tym przypadku tą lokalizacją wyjściową jest ścieżka pliku określona przez ścieżka_pliku_wyjściowego .

Uwaga:ogólnie zaleca się wprowadzenie pełnej ścieżki i nazwy pliku dla ścieżka_pliku_wyjściowego , więc wynikowy plik jest generowany dokładnie tam, gdzie chcesz.

Na przykład, aby wyeksportować książki jako book_admin użytkownika do ~/backup/bazy danych katalogu, możemy użyć następującego polecenia:

$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:

Po wprowadzeniu naszego hasła po wyświetleniu monitu powyżej, to polecenie tworzy nasz plik kopii zapasowej z .sql przyrostek (który jest całkowicie opcjonalny, ale zalecany) w odpowiednim katalogu.

Domyślnie mysqldump nie zapisz komendy, które próbują zmodyfikować istnienie rzeczywistej bazy danych. Zamiast tego domyślnie tylko rzeczywiste tabele (i ich odpowiednie dane) są zapisywane i dlatego zostaną przygotowane do późniejszego importu za pomocą tego pliku. Jeśli potrzebujesz możliwości wyeksportowania (i późniejszego odtworzenia) jeszcze jednej bazy danych, przeczytaj --databases flaga w oficjalnej dokumentacji.

Importowanie do MySQL

Teraz, gdy nauczyłeś się eksportować kopię zapasową bazy danych MySQL, omówimy, jak odwrócić ten proces i importować kopia zapasowa do istniejącej bazy danych.

Jak możesz sobie wyobrazić, komplement mysqldump polecenie używane do eksportu, istnieje podobny mysqlimport polecenie do importowania.

W większości przypadków importowanie to tylko kwestia przekazania praktycznie identycznego opcje do mysqlimport Komenda. Aby zaimportować nasz zapisany plik books.sql plik utworzony wcześniej, użylibyśmy wielu takich samych flag i bardzo tej samej składni.

$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:

Tak jak poprzednio, -u i -p do uwierzytelnienia wymagane są flagi, po których następuje nazwa bazy danych do zaimportowania do (w tym przypadku używamy innej, produkcyjnej bazy danych), a następnie określenie w pełni kwalifikowanej ścieżki do pliku zrzutu SQL, który zawiera nasze dane importu, ~/backup/database/books.sql . Warto również zauważyć, że mysqlimport nie wymaga < lub > (STDIN/STDOUT) symbole używane z mysqldump .

Dzięki temu nauczyłeś się zarówno eksportować / tworzyć kopie zapasowe istniejącej bazy danych, jak i importować / przywracać te dane do tej samej lub nawet innej bazy danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:NULL vs

  2. Wstaw zapytanie, aby wstawić wiersze w MySQL

  3. Jak przeszukiwać wiele kolumn w MySQL?

  4. Bitwy kodowania znaków UTF-8 json_encode()

  5. Jak używać STRCMP() do porównywania 2 ciągów znaków w MySQL?