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 ()
Ответ на: комментарий от ErasimHolmogorin

это как «кликаньем мышки» может поподробнее расскажешь, я то телепат но не мастер телепат.

MikeDM ★★★★★ ()

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

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

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

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

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

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

сделай нормальный mysqldump на сервере и мозги не себе ни людям не насилуй.

MikeDM ★★★★★ ()
Ответ на: комментарий от 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

Рассматривал этот вариант, доступа к мускулу нет, только через гуевину.

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

мисье знает толк в извращениях.

покажи как ты делаешь импорт.

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

создай базу autoshop

потом делай импорт так

mysql autoshop -u root -p < db.sql

MikeDM ★★★★★ ()
Ответ на: комментарий от 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 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.