Domyślnie mysqldump
zawsze tworzy CREATE DATABASE IF NOT EXISTS db_name;
oświadczenie na początku pliku zrzutu.
[EDYTUJ ] Kilka rzeczy o mysqldump
plik i jego opcje:
--all-databases
, -A
Zrzuć wszystkie tabele we wszystkich bazach danych. To to samo, co przy użyciu --databases
opcja i nazwanie wszystkich baz danych w wierszu poleceń.
--add-drop-database
Dodaj DROP DATABASE
oświadczenie przed każdym CREATE DATABASE
oświadczenie. Ta opcja jest zwykle używana w połączeniu z --all-databases
lub --databases
opcja, ponieważ nie CREATE DATABASE
oświadczenia są zapisywane, chyba że określono jedną z tych opcji.
--databases
, -B
Zrzuć kilka baz danych. Zwykle mysqldump
traktuje pierwszy argument name w wierszu poleceń jako nazwę bazy danych, a kolejne nazwy jako nazwy tabel. Dzięki tej opcji wszystkie argumenty nazw są traktowane jako nazwy bazy danych. CREATE DATABASE
i USE
oświadczenia są dołączane do danych wyjściowych przed każdą nową bazą danych.
--no-create-db
, -n
Ta opcja pomija CREATE DATABASE
instrukcje, które w przeciwnym razie są zawarte w danych wyjściowych, jeśli --databases
lub --all-databases
podana jest opcja.
Jakiś czas temu pojawiło się podobne pytanie dotyczące braku takiego stwierdzenia na początku pliku (dla pliku XML). Link do tego pytania jest tutaj .
Aby odpowiedzieć na twoje pytanie:
- jeśli masz jedną bazę danych do zrzucenia, powinieneś mieć
--add-drop-database
opcja w twoimmysqldump
oświadczenie. - jeśli masz wiele baz danych do zrzucenia, powinieneś użyć opcji
--databases
lub--all-databases
iCREATE DATABASE
składnia zostanie dodana automatycznie
Więcej informacji znajdziesz w Podręczniku MySQL