Импортировать схему базы данных - PullRequest
4 голосов
/ 15 июня 2011

У меня есть файл mysqldump, который содержит схему и дамп данных.

Мне нужно импортировать только схему базы данных из моего sqldump. Я попытался с помощью следующей команды:

mysql -uUSER -pPASSWORD < filename.sql

но не поможет. импортирует как схему, так и данные.

Как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 11 ноября 2013

На тот случай, если вы не захотите сбросить все снова и вам это понадобится для некоторых быстрых тестов, вы также можете обмануть очень грязно, используя

grep -ve '^INSERT' dump.sql > dump-no-data.sql

Не используйте это для производственных сред.

2 голосов
/ 15 июня 2011

Насколько я знаю, вы не можете, как если бы он был в дампе, он будет вставлен снова.

Что вы можете сделать, это сделать дамп базы данных без данных в первую очередь, используя -no-data опция:

mysqldump -u username -p -h localhost –no-data database_name > dump.sql

1 голос
/ 11 ноября 2013

если хотите, попробуйте это:

mysql -u USER -pPASSWORD database < database_schema.sql
1 голос
/ 15 июня 2011

ИМХО, самое простое решение - просто открыть дамп в обычном текстовом редакторе и скопировать операторы CREATE TABLE ... в другой файл. Я бы даже не заботился о том, чтобы делать что-то еще.

Если по какой-либо причине это невозможно, вы можете просто создать новый дамп и на этот раз разделить структуру и данные в два файла.

Если это тоже не вариант, вы можете загрузить дамп на локальный сервер MySQL, создать оттуда новый дамп, или использовать инструмент с графическим интерфейсом, например HeidiSQL, для передачи структуры прямо на сервер назначения.

...