Jump to content

MySQL


Recommended Posts

У меня есть дамп MySQL базы на 992 мб. ( о_О сам удивилсо )

Необходимо импортировать в базу. Дамп брался на другой машине (версия MySQL не слишком но меньше. Различие в 4.0.хх)

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

Т.е. date tinytext NOT NULL и подобные

Для успешного импорта необходимо экранировать и имена таблиц и имена данных значений.

Как это можно сделать?

Реально ли экранировать данные параметры при импорте в базу "на лету" модифицируя команду:

cat base.sql | mysql DB_NAME && rm -f *.sql

Link to post
Share on other sites
Простой импорт базы скриптом не получается, поскольку в дампе присутствуют имена разделов со значениями системных переменных.

что за имена разделов?

 

Похоже тебе надо выгрузить дамп с опцией "обрамлять в обратные кавычки имена сущностей", не помню как она звучит (и сейчас не за консолью), посмотри man.

Link to post
Share on other sites
Похоже тебе надо выгрузить дамп с опцией "обрамлять в обратные кавычки имена сущностей"

Да мне надо с уже выгруженым дампом проделать данную операцию..

Обьясняю дамп сняли с сервера, но сервер демонтирован. Сейчас с него снять какие-либо дампы физически невозможно.

А дампили без вот такой галочки.. Вот мне и надо сконвертить текущий дамп в корректный с экранизацией.

Link to post
Share on other sites

Советую "экранировать" это ручками. Т.к. в любом автоматическом сценарии может быть ошибка, потом будешь страдать.

 

Уверен, что такой большой размер дампа обусловлен наличием большого кол-ва данных, а DDL операций там немного, так что работы от силы на 15-20 минут.

 

Только редактор надо такой, чтоб не поехал мозгами от почти гига текста ;-)

Link to post
Share on other sites

Ручками говориш...

Я тут 18 метровый дамп ручками редактил... Чуть сам мозгами не поехал... часа за два заэкранировал. С поиском/заменой редактил... Т.е. Почти на автоматизме..

 

А тут гиговая фигня такая... У меня на серваке mc говорит: "а не пошел бы ты погулять с такими размерами?!"

Под виндой ИМХО неодин текстовик не выжывет от гигового текстовичка....

 

Итак... Какие предложения будут еще?

Link to post
Share on other sites

#mysql -ulogin -ppassword -hhost database < /home/import.sql

 

#mysql -ulogin -ppassword -hhost database

mysql>LOAD DATA INFILE "/home/import.sql";

 

загружаются любые корректные файлы любых размеров.

Link to post
Share on other sites

ну как поднять базу из дампа это понятно.

тут вопрос в редактировании некоторых дынных базы.

Link to post
Share on other sites
загружаются любые корректные файлы любых размеров.

Прочитай первый мой пост внимательно ;-)

Версии MySQL-серверов немного разные.

А как импортить базу из командной строки - опять же читай первый пост) там строка есть)

Link to post
Share on other sites

Вобщем проблема решена...

Perl`ом.

Так что учите перловку ;-)

Если кого заинтересовала реализация могу подсказать как ;-)

Link to post
Share on other sites
или Ра помог?

Угу. Помог)

Кодом не кину, но что сделать надо опишу. Можно будет подкрутить под любимый язык.

Ппж опишу все в деталях.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...