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:
-uflaga wskazuje, żenazwa użytkownikaMySQL nastąpi.-pflaga wskazuje, że powinniśmy zostać poproszeni o podaniehasłapowiązane z powyższąnazwą użytkownika.nazwa_bazyto oczywiście dokładna nazwa bazy danych do wyeksportowania.> symbol to dyrektywa uniksowa dlaSTDOUT, 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.