Jak łatwo zaimportować wiele plików sql do bazy danych MySQL?
Mam kilka plików sql
i chcę zaimportować je wszystkie na raz do bazy danych MySQL.
Przechodzę do PHPMyAdmin
, wchodzę do bazy danych, klikam import
, wybieram plik i importuj go. Gdy mam więcej niż kilka plików, zajmuje to dużo czasu.
Chciałbym wiedzieć, czy jest lepszy sposób na import wielu plików, coś w rodzaju jednego pliku, który będzie importować inne pliki lub podobne.
Używam WAMP
i chciałbym rozwiązania, które nie wymaga instalowanie dodatkowych programów na moim komputerze.
7 answers
Dzięki BlackCharly, znalazłem jak to zrobić w Windows, otwórz terminal przejdź do folderu content i napisz:
copy /b *.sql all_files.sql
To łączy wszystkie pliki w jednym, dzięki czemu importowanie z PhpMyAdmin jest naprawdę szybkie]}
W Linuksie, jak mówi BlackCharly:
cat *.sql > all_files.sql
Na koniec proszę wziąć pod uwagę komentarz @ mosh:
If all_files.sql jest już obecny, może to skutkować rekurencyjną kopią pliku na siebie bez końca! Umieść wynik w oddzielnym katalog dla bezpieczeństwa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-12 11:12:06
To najprostszy sposób, jaki znalazłem.
W Windows (powershell):
cat *.sql | C:\wamp64\bin\mysql\mysql5.7.21\bin\mysql.exe -u user -p database
Będziesz musiał wstawić ścieżkę do swojego WAMP - MySQL
powyżej, użyłem mojej ścieżki systemowej.
W Linuksie (Bash):
cat *.sql | mysql -u user -p database
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-28 15:50:02
-
Goto cmd
Wpisz Wiersz polecenia C:\users\Usersname > cd [.sql tables folder path ]
Naciśnij Enter
Ex: C:\users\Usersname > cd E:\project\databaseType command prompt
C:\users\Usersname>[.nazwa dysku folderu sql (katalogu)]
Naciśnij Enter
Ex: C:\users\Usersname > E:Wpisz Wiersz polecenia dla marge all .plik sql (tabela) w jednym pliku
kopia / b *.SQL newdatabase.sql
Prasa Enter
EX: E:\project\database > kopia / b *.SQL newdatabase.sqlMożesz zobaczyć Scalanie wielu .sql (Plik) tabele plików w jednym pliku w folderze katalogu
Ex: E:\project\database
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-29 12:53:01
Wiem, że minęło trochę ponad dwa lata... ale szukałem sposobu, aby to zrobić, i nie byłem zbyt zadowolony z zamieszczonego rozwiązania(działa dobrze, ale chciałem trochę więcej informacji, jak import się dzieje). Podczas łączenia wszystkich plików SQL w jeden, nie otrzymasz żadnych aktualizacji postępu.
Więc szukałem odpowiedzi i pomyślałem, że może to być dobre miejsce, aby opublikować to, co znalazłem dla przyszłych ludzi szukających tej samej odpowiedzi. Oto wiersz poleceń w systemie Windows, który zaimportuje wiele plików SQL z folderu. Uruchamiasz to z wiersza poleceń w katalogu, w którym mysql.exe znajduje się.
for /f %f in ('dir /b <dir>\<mask>') do mysql --user=<user> --password=<password> <dbname> < <dir>\%f
Z pewnymi założonymi wartościami (jako przykład):
for /f %f in ('dir /b c:\sqlbackup\*.sql') do mysql --user=mylogin --password=mypass mydb < c:\sqlbackup\%f
Jeśli masz dwa zestawy kopii zapasowych SQL w folderze, możesz zmienić *.sql do czegoś bardziej konkretnego (np. mydb_*.sql).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-18 16:53:13
Wprowadź powłokę mysql w ten sposób.
Mysql --host=localhost --user=username --password --database=db
Następnie użyj polecenia source i średnika, aby rozdzielić polecenia.
Source file1.sql; source file2; source file3;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-19 09:47:55
Zapisz ten plik jako .bat i uruchom go, zmień zmienne w nawiasie ...
@echo off
title Mysql Import Script
cd (Folder Name)
for %%a in (*) do (
echo Importing File : %%a
mysql -u(username) -p(password) %%~na < %%a
)
pause
Jeśli jest to tylko jedna baza danych zmodyfikuj (%%~na) z nazwą bazy danych .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-06 06:18:09
Najprostszym rozwiązaniem jest skopiowanie / wklejenie KAŻDEGO pliku sql w jednym.
Nie możesz dodać niektórych znaczników sql do importu plików (importowane pliki będą na twoim komputerze, nie na serwerze, i nie sądzę, że MySQL zarządza niektórymi znacznikami import do zewnętrznych plików sql).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-25 09:23:38