Por defecto mysqldump siempre crea el CREATE DATABASE IF NOT EXISTS db_name; instrucción al principio del archivo de volcado.
[EDITAR ] Algunas cosas sobre mysqldump archivo y sus opciones:
--all-databases , -A
Volcar todas las tablas en todas las bases de datos. Esto es lo mismo que usar --databases opción y nombrando todas las bases de datos en la línea de comando.
--add-drop-database
Añadir una DROP DATABASE declaración antes de cada CREATE DATABASE declaración. Esta opción generalmente se usa junto con --all-databases o --databases opción porque no CREATE DATABASE las declaraciones se escriben a menos que se especifique una de esas opciones.
--databases , -B
Volcar varias bases de datos. Normalmente, mysqldump trata el primer argumento de nombre en la línea de comando como un nombre de base de datos y los siguientes nombres como nombres de tabla. Con esta opción, trata todos los argumentos de nombre como nombres de base de datos. CREATE DATABASE y USE las declaraciones se incluyen en la salida antes de cada nueva base de datos.
--no-create-db , -n
Esta opción suprime CREATE DATABASE declaraciones que de otro modo se incluyen en la salida si --databases o --all-databases se da la opción.
Hace algún tiempo, hubo una pregunta similar sobre no tener dicha declaración al comienzo del archivo (para el archivo XML). El enlace a esa pregunta está aquí .
Entonces, para responder a tu pregunta:
- si tiene una base de datos para volcar, debe tener
--add-drop-databaseopción en sumysqldumpdeclaración. - si tiene varias bases de datos para volcar, debe usar la opción
--databaseso--all-databasesy elCREATE DATABASEla sintaxis se agregará automáticamente
Más información en Manual de referencia de MySQL