Które polecenie wydane w konsoli systemowej przywróci bazę danych z kopii kopia.sql?
Źle.
mysqldump służy do zrzutu, nie do importu.Źle. Operator
> nadpisałby plik, a nie przywrócił bazę.Źle.
mysqldump z > TWORZY kopię, a nie ją przywraca.Dobrze.
mysql z < wczytuje (importuje) zawartość pliku do bazy.Kopię bazy tworzy się narzędziem
mysqldump, a PRZYWRACA klientem mysql, przekierowując zawartość pliku SQL na jego wejście: mysql -u root -p baza < kopia.sql. Operator < kieruje treść pliku „do” programu (import), a > - „z” programu do pliku (eksport). Plik kopia.sql zawiera polecenia odtwarzające strukturę i dane. Dlatego bazę przywróci mysql -u root -p baza < kopia.sql.Pozostałe polecenia nie przywrócą bazy. Oba warianty z
mysqldump są błędne, bo mysqldump służy do TWORZENIA zrzutu (kopii), a nie jego wczytywania - zwłaszcza mysqldump … > kopia.sql właśnie zapisuje kopię. Wariant mysql … > kopia.sql używa operatora >, który skierowałby wyjście do pliku (nadpisując go), zamiast wczytać dane do bazy. Import wykonuje mysql … < kopia.sql, dlatego ta odpowiedź jest poprawna.