Jak zaimportować plik SQL z terminalu

Jak zaimportować plik SQL z terminalu

Bazy danych są infrastrukturą krytyczną w nowoczesnych aplikacjach. Stąd regularne kopie zapasowe są bardzo niezbędne. Dane stale się zmieniają i istnieje duży margines błędu, szczególnie podczas wykonywania zapytań. Chociaż relacyjne bazy danych są zgodne z kwasem i mogą chronić przed wypadkami i awarią mocy, prowadzenie kopii zapasowej twoich baz danych to dobry pomysł.

W tym artykule przejdziemy do procedury tworzenia kopii zapasowych i odbudowy MySQL i dowiemy się, jak zrzucić bazy danych do pliku i przywrócić.

Wymagania

Zanim przejdziemy do tego samouczka, zakładamy, że masz:

    1. MySQL Server
    2. Wystarczające przywileje na docelowym DB.

Gdy będziesz gotowy, zanurzaj się.

Eksportowanie bazy danych MySQL

Pierwszym krokiem jest nauczenie się, jak wyeksportować swoją bazę danych. Na szczęście w MySQL możesz użyć narzędzia MySQLDUMP, które pozwala określić bazę danych, którą chcesz wykonać kopię zapasową, i automatycznie zapisza ją do pliku.

Przed uruchomieniem narzędzia zrzutu MySQL upewnij się, że masz dostęp do bazy danych, do której chcesz uzyskać dostęp. Po drugie, upewnij się, że żadne połączenia nie odczytują ani nie piszą do bazy danych.

Zapobiegnie to wprowadzaniu modyfikacji każdego klienta podczas operacji tworzenia kopii zapasowych.

Po przygotowaniu uruchom poniższe polecenie, aby wykonać kopię zapasową określonej bazy danych:

$ mysqldump -u nazwa użytkownika -p Target_Database> Plik.SQL


Zaczynamy od wywołania polecenia mysqldump, a następnie nazwy użytkownika używanej do logowania się na serwerze MySQL. Następnie następuje -p, umożliwiając MySQL na wyświetlenie prośby o hasło określonego użytkownika.

Na koniec określamy nazwę bazy danych, którą chcemy wykonać kopię zapasową oraz nazwę pliku, do której chcemy zapisać bazę danych.

Załóżmy na przykład, że chcemy utworzyć kopię zapasową bazy danych o nazwie hello_world. Następnie możemy uruchomić polecenie, jak pokazano:

mysqldump -u root -p hello_world> hello_world_db.SQL


Polecenie powyżej powinno użyć użytkownika root, aby utworzyć kopię zapasową bazy danych Hello_World w hello_world_db.plik SQL.


Należy pamiętać, że jeśli polecenie zakończy się powodzeniem, nie dostarczy żadnego wyjścia terminala.

Sprawdź zawartość eksportowanego pliku za pomocą CAT:

$ Cat Filename.SQL


Przykładem jest to, jak pokazano:


Należy pamiętać, że wyjście może się znacznie różnić w zależności od danych przechowywanych w bazie danych.

Importowanie bazy danych MySQL z eksportowanego pliku SQL - Metoda 1

Jak wszystkie kopie zapasowe, napotkasz instancję, w której musisz przywrócić bazę danych. Niezależnie od tego, czy naprawiasz uszkodzoną bazę danych, czy zwracasz bazę danych do określonego punktu, możesz użyć eksportowanego pliku, aby to osiągnąć.

Przed zaimportowaniem pliku SQL upewnij się, że baza danych, w której chcesz przywrócić, już istnieje. W przeciwnym razie wykonaj zapytanie Utwórz bazę danych, aby zainicjować nowy schemat.

Po przygotowaniu bazy danych uruchom poniższe polecenie, aby przywrócić plik SQL.

$ mysql -u nazwa użytkownika -p baza danych nazwa < exported_file.sql


Powyższe polecenie wymaga określenia nazwy bazy danych, którą chcesz przywrócić i ścieżkę do pliku SQL.

Na przykład:

mysql -u root -p hello_world < hello_world_db.sql


Polecenie zaimportuje plik SQL i odtworzy bazę danych w określonej bazie danych.

Importuj plik SQL - Metoda 2

Możesz także użyć narzędzia MySQLimport do przywrócenia pliku SQL. Składnia polecenia jest jak pokazano poniżej:

$ mysqLimport -u nazwa użytkownika -p baza danych nazwa/ścieżka/do/sq/plik.SQL


W przeciwieństwie do pierwszej metody, polecenie nie wymaga używania < operator. However, you do no need to define the path to the SQL file.

Przykład:

mysqLimport -u root -p hello_world .\ hello_world_db.SQL


Pomyślnie przywróciłeś swoją bazę danych.

Wniosek

Jak odkryłeś w tym samouczku, tworzenie kopii zapasowej i przywracania bazy danych MySQL jest stosunkowo proste.