Przywracanie baz danych MULTIPLE MySQL z jednego pliku w wierszu poleceń?


13

Wyeksportowałem wszystkie moje bazy danych do pliku za pomocą phpMyAdmin.

Niestety nie mam działającego phpMyAdmin w moim systemie docelowym.

Jak powinienem przywrócić je wszystkie naraz, używając jednego wiersza poleceń?


1
Zajrzałeś do pliku? Powinien / powinien zawierać polecenia do tworzenia i przełączania do baz danych w razie potrzeby.
Tom Regner,

Tak, bazy danych są tworzone, a następnie wybierane za pomocą USE database_namepolecenia.
smhnaji

Zatem odpowiedzi Unni i laurents są poprawne.
Tom Regner,

Odpowiedzi:


18

Dlaczego nie połączysz wszystkich plików w jeden plik i zaimportujesz / przywrócisz

mysql -u username -p < dump.sql

Utwórz jeden plik za pomocą

mysqldump -u username -p --all-databases > dump.sql

OP ma już jeden plik i musi je przywrócić, aby nie mógł ich zrzucić.
laurent

@ laurent Tak, rozumiem. Użycie mysql -u username -p < dump.sqlspowoduje załadowanie wielu baz danych MySQL.
devav2

tak, na pewno to zrobi
laurent

2
to nie działało dla mnie. mówi, że muszę wybrać bazę danych
Aryeh Armon

3

Jeśli wykonałeś kopię zapasową wielu baz danych w jednym pliku, przypuszczam, że wykonałeś kopię zapasową create databaseinstrukcji w tym samym pliku. Jeśli nie, musisz tylko dodać instrukcje create databasei use databasedo pliku w odpowiednich miejscach.

Następnie polecenie załadowania pliku do mysql to:

mysql -p < sqlfile.sql

-p to poprosić o hasło.

Możesz użyć, -u usernamejeśli potrzebujesz innego użytkownika.


1

Polecenie mysql w celu przywrócenia pliku sql to:

mysql DATABASE_NAME < SQL_FILENAME.sql

najpierw upewnij się, że plik to sql. Jeśli kończy się rozszerzeniem gz, musisz rozpakować za pomocą polecenia:

gunzip SQL_FILE.sql.gz

1
-1. Jak powiedziałem powyżej, w pliku przechowywanych jest wiele baz danych i chcę je wszystkie przywrócić na raz.
smhnaji

czy możesz wyeksportować każdą bazę danych osobno w phpmyadmin i przywrócić ją na serwerze źródłowym? lub użyj edytorów strumieni linuksowych, takich jak sed lub awk, aby podzielić je na różne pliki.
Unni,

1
nie ma potrzeby, może zaimportować wszystkie bazy danych z jednego pliku
laurent
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.