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-databaseopcja w twoimmysqldumpoświadczenie. - jeśli masz wiele baz danych do zrzucenia, powinieneś użyć opcji
--databaseslub--all-databasesiCREATE DATABASEskładnia zostanie dodana automatycznie
Więcej informacji znajdziesz w Podręczniku MySQL