LINUX.ORG.RU

Импорт базы данных MySQL

 


0

1

Дали мне базу данных размеров в 8Gb, пытаюсь импортировать, и получаю:

ERROR 1049 (42000) at line 7: Unknown database 'autoshop'

Что это значит я понимаю, и чего не хватает тоже догадываюсь.

Как попросить MySQL создать принудительно базу данных и все таблицы, если таких команд нет в дампе?

Какие сценарии есть для работы с такими дампами?

Ответ на: комментарий от MikeDM

Я догадывался, но ИМХО программа специально в дампе это не указывает.

Как это обойти?

Разобрать структуру дампа и самому создать необходимые таблицы, или есть какой-то чудо метод?

ErasimHolmogorin
() автор топика
Ответ на: комментарий от MikeDM

Кликанием мышкой по кнопке.

Файл большой, текстовые редакторы не осиливают.

В общем почему-то только сейчас вспомнил про sed.

Импорт запинается на строке, где TRUNCATE TABLE, собственно думаю, что s/TRUNCATE/CREATE/g должно помочь?

ErasimHolmogorin
() автор топика

написать скрипт из двух строк

1. Создание базы

2. Запуск импорта дампа базы.

Alve ★★★★★
()
Ответ на: комментарий от MikeDM

Программа для сайта japancar.ru, создаешь базу запчастей у себя на компе, синхронизируешь с сайтом, можно базу экспортировать, но никаких настроек нет, просто кнопка экспорт и все.

ErasimHolmogorin
() автор топика
Ответ на: комментарий от Alve

Строки об которые спотыкается импорт.

TRUNCATE TABLE account_type;
INSERT INTO account_type VALUES
('bank', '����', 'adm', '', '2005-11-22 00:00:00', '2005-11-22 16:57:46'),

В данный момент для меня выход создать таблицы по этим данным и уже в них экспортировать, но тут каждую таблицу надо будет создавать вручную. Количество оных мне неизвестно.

ErasimHolmogorin
() автор топика
Ответ на: комментарий от MikeDM

До этого я уже дошел.

ERROR 1146 (42S02) at line 29: Table 'autoshop.account_type' doesn't exist

Там все выглядит так:

TRUNCATE TABLE account_type;
INSERT INTO account_type VALUES
('bank', '����', 'adm', '', '2005-11-22 00:00:00', '2005-11-22 16:57:46'),

ErasimHolmogorin
() автор топика
Ответ на: комментарий от ErasimHolmogorin

судя по всему дамп делается без схемы создания таблиц.

требуй прямой доступ к базе для снятия дампа.

MikeDM ★★★★★
()
Ответ на: комментарий от ErasimHolmogorin

Хех, займусь реверсинжинирингом.

1. Пройдись grep'ом по дампу, вытащи все имена таблиц.

2. Сделай отдельный скрипт, где укажи

create table if not exists ...
3. Запусти скрипт - это создаст тебе все нужные таблицы.

4. В дампе убери

TRANCATE TABLE...

Или сразу в дампе замени TRANCATE на CREATE.

blackst0ne ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.