Aby przywrócić (odtworzyć) bazę danych z pliku kopii logicznej w formacie SQL, potrzebujesz narzędzia, które wykona instrukcje SQL zapisane w pliku. Taką rolę pełni klient wiersza poleceń mysql. Zapis:
mysql -u root -p baza < kopia.sql
oznacza: uruchom klienta mysql, zaloguj się jako użytkownik root (hasło zostanie podane po -p), wybierz bazę o nazwie "baza", a następnie wczytaj zawartość pliku kopia.sql jako standardowe wejście. Znak < przekierowuje plik do programu, więc program "czyta" polecenia z pliku i je wykonuje — to jest właśnie import/odtworzenie.
Pozostałe opcje są błędne, bo mieszają narzędzie i kierunek przekierowania:
- mysqldump ... służy do eksportu (tworzenia zrzutu). Nie jest typowo używany do odtwarzania, tylko do generowania SQL z istniejącej bazy.
- Użycie > oznacza zapis standardowego wyjścia do pliku. Gdy wykonasz mysqldump ... > kopia.sql, tworzysz plik kopii, a nie go odtwarzasz.
- Użycie mysql ... > kopia.sql również nie odtwarza bazy: przekierowujesz wyjście programu do pliku, więc ewentualne komunikaty lub wynik trafią do pliku, a program nie otrzyma poleceń SQL do wykonania.
W praktyce warto zapamiętać prostą regułę: dump = eksport, a mysql + < plik.sql = import. Na egzaminie najczęstsza pułapka to nieuwzględnienie znaczenia < i > albo automatyczne przypisanie "kopia" do mysqldump bez analizy, co faktycznie robi polecenie.