2016-05-25 3 views
0

Я хочу предоставить пользователям резервную копию исходной базы данных и дать однострочную команду для создания базы данных в своих системах. Вот как я резервное копирование базы данных:Имейте MySQL Создать базу данных при восстановлении резервной копии

mysqldump -u root -p -B --add-drop-database "myDatabase" > backup.sql 

Вот моя команда, чтобы восстановить его:

mysql -u root -p -D "myDatabase" < backup.sql 

Проблема заключается в том, что она не:

ERROR 1049 (42000): Unknown database 'myDatabase' 

Вот что соответствующая часть файл резервной копии выглядит так:

-- 
-- Current Database: `myDatabase` 
-- 

/*!40000 DROP DATABASE IF EXISTS `myDatabase`*/; 

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `myDatabase` /*!40100 DEFAULT CHARACTER SET utf8 */; 

USE `myDatabase`; 

Если я наберу это внутри MySQL, я не получу никаких проблем.

(я также хотел бы для mysqldump взять комментарии от падения базы данных, если она существует, и создать его, если он не существует.)

Если это имеет значение, я бегу

MySQL 5.5.49-0ubuntu0.12.04.1. 

ответ

1

ОК, вы указываете имя SCHEMA NAME в команде mysql. Поэтому mysql хочет сначала изменить схему на myDatabase и CANT, КОТОРУЮ. нет схемы myDatabase. удалите опцию -D, например:

mysql -u root -p < backup.sql 
Смежные вопросы