Mam bazę danych o nazwie nitm
. Nie utworzyłem tam żadnych tabel. Ale mam plik SQL, który zawiera wszystkie niezbędne dane do bazy danych. Plik nitm.sql
jest w C:\ drive
. Ten plik ma rozmiar około 103 MB. Używam serwera Wamp.
Do zaimportowania pliku użyłem następującej składni w konsoli MySQL:
mysql>c:/nitm.sql;
Ale to nie zadziałało.
Odpowiedzi:
Z konsoli mysql:
mysql>
use DATABASE_NAME;
mysql>
source path/to/file.sql;
upewnij się, że nie ma ukośnika przed ścieżką, jeśli masz na myśli ścieżkę względną ... zajęło mi to trochę czasu, aby to zrozumieć! lol
źródło
/home/user/file.sql
path/to/file.sql
jest to ścieżka lokalnego systemu plików, w której znajduje się klient mysql . Są chwile, kiedy serwer MySQL oczekuje ścieżki po stronie serwera, IE,SELECT ... INTO OUTFILE
która upuszcza plik do ścieżki na serwerze MySQL!Wreszcie rozwiązałem problem. Umieściłem plik `nitm.sql` w pliku` bin` folderu `mysql` i użyłem następującej składni.
I to zadziałało.
źródło
Jeśli używasz wampa, możesz spróbować tego. Po prostu wpisz
use your_Database_name
pierwszy.Kliknij ikonę serwera Wamp, a następnie poszukaj,
MYSQL > MSQL Console
a następnie uruchom go.Jeśli nie masz hasła, po prostu naciśnij enter i wpisz:
Jeśli masz hasło, obiecujesz wprowadzić hasło. Najpierw wpisz hasło, a następnie wpisz:
location_of_your_file
powinien wyglądaćC:\mydb.sql
więc poleceniem jest mysql> source C: \ mydb.sql;
Ten rodzaj importu zrzutu SQL jest bardzo pomocny dla BIG SQL FILE.
Skopiowałem mój plik
mydb.sq
do kataloguC:
. Powinien to być wielka litera C: aby uruchomići to wszystko.
źródło
W systemie Windows, jeśli powyższa sugestia powoduje błąd (nie znaleziono pliku lub nieznana baza danych), możesz podwoić ukośniki:
W konsoli mysql:
źródło
Ok, więc używam Linuksa, ale myślę, że dotyczy to również Windows. Możesz to zrobić bezpośrednio z wiersza polecenia
Lub z poziomu wiersza polecenia mysql możesz użyć:
Ale oba te podejścia mają swoje zalety w wyświetlanych wynikach. W pierwszym podejściu skrypt kończy się, gdy tylko napotka błąd. A najlepsze jest to, że podaje dokładny numer wiersza w pliku źródłowym, w którym wystąpił błąd. Jednak wyświetla TYLKO błędy. Jeśli nie napotkał żadnych błędów, skrypty wyświetlają NIC. Co może być trochę denerwujące. Ponieważ najczęściej uruchamiasz skrypt z całą stosem poleceń.
Teraz drugie podejście (z poziomu wiersza polecenia mysql) ma tę zaletę, że wyświetla komunikat dla każdej innej komendy MySQL w skrypcie. Jeśli napotka błędy, wyświetla komunikat o błędzie mysql, ale kontynuuje pracę przez skrypty. Może to być dobre, ponieważ możesz następnie wrócić i naprawić wszystkie błędy przed ponownym uruchomieniem skryptu. Minusem jest to, że NIE wyświetla numerów wierszy w skrypcie, w którym wystąpiły błędy. To może być trochę uciążliwe. Ale komunikaty o błędach są tak opisowe, że prawdopodobnie możesz dowiedzieć się, gdzie jest problem.
Ja, na przykład, wolę podejście z linii poleceń bezpośrednio z systemu operacyjnego.
źródło
Jeśli używasz xampp
źródło
Jesteś prawie na miejscu
Możesz również uzyskać dostęp do pomocy przez
źródło
mysql> \. ~/Downloads/backups/file.sql
działał idealnie w mysql> i od terminalucoosal
odpowiedź działała również.Dla localhost na XAMPP. Otwórz okno cmd i wpisz
Uwaga! Brak średnika po -p Wprowadź hasło i wpisz
aby wybrać potrzebną bazę danych.
Sprawdź, czy jest tam twój stół
Zaimportuj z pliku sql
Umieściłem mój plik w lokalizacji C: \ xampp \ mysql \ bin, aby nie mieszać się z lokalizacjami pliku sql.
źródło
Próbować:
Sprawdź opcje MySQL .
Uwaga: Lepiej jest użyć pełnej ścieżki do pliku SQL
file.sql
.źródło
Nie zapomnij użyć
Jeśli twój plik sql jest w utf-8 :)
Więc musisz zrobić:
Powodzenia ))
źródło
W systemie Linux przeszedłem do katalogu zawierającego plik .sql przed uruchomieniem mysql. Kursor systemowy znajduje się teraz w tym samym miejscu co plik i nie potrzebujesz ścieżki. Użyj źródła myData.sql, gdzie moja data jest zastąpiona nazwą twojego pliku.
podłącz targetDB
Gotowe
źródło
z linii poleceń (cmd.exe, nie z powłoki mysql) spróbuj czegoś takiego:
źródło
Czy twój zrzut zawiera funkcje, które nie są obsługiwane w twojej wersji MySQL? Możesz także spróbować usunąć początkowe (i końcowe) MySQL komentowane instrukcje SET.
Nie wiem, czy twój zrzut pochodzi z Linuksowej wersji MySQL (zakończenia linii)?
źródło
Zainstalowałem mój serwer Wamp na dysku D: więc musisz przejść do następującej ścieżki z wiersza poleceń ur -> (a jeśli zainstalowałeś swój wamp na dysku c:, po prostu zastąp d: wtih c: tutaj)
tutaj root jest użytkownikiem mojego phpmyadmin hasło jest hasłem dla phpmyadmin, więc jeśli nie ustawiłeś żadnego hasła dla roota, po prostu nic nie wpisuj w tym miejscu, db_name to baza danych (dla której bazy danych masz kopię zapasową), backupfile.sql jest plik, z którego chcesz utworzyć kopię zapasową swojej bazy danych, a także możesz zmienić lokalizację pliku kopii zapasowej (d: \ backupfile.sql) z dowolnego innego miejsca na komputerze
źródło
Spowoduje to zapisanie wyniku polecenia mysql w pliku „nitm.sql;” (Co powinien zrobić „;”?) Zakładając, że masz kopię oryginalnego pliku (zanim go zastąpiłeś):
źródło
Eksportuj określone bazy danych
spowoduje to eksport baz danych CCR i KIT ...
Zaimportuj wszystkie wyeksportowane bazy danych do konkretnej instancji Mysql (musisz znajdować się tam, gdzie jest plik zrzutu)
źródło
W systemie operacyjnym Windows dla mnie działają następujące polecenia.
Brak pojedynczych cudzysłowów lub podwójnych cudzysłowów wokół nazwy pliku. Ścieżka będzie zawierać „/” zamiast „\”.
źródło
Dla tych z was, którzy mają problem z wykonaniem tego, wypróbowując każdą możliwą odpowiedź, którą można znaleźć w SO. Oto, co działało dla mnie na VPS z systemem Windows 2012 R2:
Umieść plik SQL w dowolnym miejscu, w którym znajduje się bin
C:\Program Files\MySQL\MySQL Server 8.0\bin
Otwórz wiersz polecenia systemu Windows (cmd)
C:\Program Files\MySQL\MySQL Server 8.0\bin > mysql -u [username] -p
use [database_name]
;C://Program Files//MySQL//MySQL Server 8.0//bin//mydatabasename.sql
Zrobiło to dla mnie, ponieważ wszystko inne zawiodło. To też może ci pomóc.
źródło