cooler Posted July 18, 2006 at 01:37 PM Posted July 18, 2006 at 01:37 PM У меня есть дамп MySQL базы на 992 мб. ( о_О сам удивилсо ) Необходимо импортировать в базу. Дамп брался на другой машине (версия MySQL не слишком но меньше. Различие в 4.0.хх) Простой импорт базы скриптом не получается, поскольку в дампе присутствуют имена разделов со значениями системных переменных. Т.е. date tinytext NOT NULL и подобные Для успешного импорта необходимо экранировать и имена таблиц и имена данных значений. Как это можно сделать? Реально ли экранировать данные параметры при импорте в базу "на лету" модифицируя команду: cat base.sql | mysql DB_NAME && rm -f *.sql
Sanito Posted July 18, 2006 at 01:44 PM Posted July 18, 2006 at 01:44 PM Простой импорт базы скриптом не получается, поскольку в дампе присутствуют имена разделов со значениями системных переменных. что за имена разделов? Похоже тебе надо выгрузить дамп с опцией "обрамлять в обратные кавычки имена сущностей", не помню как она звучит (и сейчас не за консолью), посмотри man.
cooler Posted July 18, 2006 at 01:51 PM Author Posted July 18, 2006 at 01:51 PM Похоже тебе надо выгрузить дамп с опцией "обрамлять в обратные кавычки имена сущностей" Да мне надо с уже выгруженым дампом проделать данную операцию.. Обьясняю дамп сняли с сервера, но сервер демонтирован. Сейчас с него снять какие-либо дампы физически невозможно. А дампили без вот такой галочки.. Вот мне и надо сконвертить текущий дамп в корректный с экранизацией.
Sanito Posted July 18, 2006 at 01:53 PM Posted July 18, 2006 at 01:53 PM Советую "экранировать" это ручками. Т.к. в любом автоматическом сценарии может быть ошибка, потом будешь страдать. Уверен, что такой большой размер дампа обусловлен наличием большого кол-ва данных, а DDL операций там немного, так что работы от силы на 15-20 минут. Только редактор надо такой, чтоб не поехал мозгами от почти гига текста ;-)
cooler Posted July 18, 2006 at 01:59 PM Author Posted July 18, 2006 at 01:59 PM Ручками говориш... Я тут 18 метровый дамп ручками редактил... Чуть сам мозгами не поехал... часа за два заэкранировал. С поиском/заменой редактил... Т.е. Почти на автоматизме.. А тут гиговая фигня такая... У меня на серваке mc говорит: "а не пошел бы ты погулять с такими размерами?!" Под виндой ИМХО неодин текстовик не выжывет от гигового текстовичка.... Итак... Какие предложения будут еще?
-=Dem[ON!]=- Posted July 18, 2006 at 06:16 PM Posted July 18, 2006 at 06:16 PM Попробуй прожки типа http://www.simplesite.narod.ru/progr2/SimTextReplacer13.zip http://www.replsoft.com/batchreplacer.zip Возможно, они осилят твой файл.
Ork Yason Posted July 19, 2006 at 06:02 AM Posted July 19, 2006 at 06:02 AM помницца редактировал бекап фаерберда через фару полгига открыл... не получится с фаром - тогда пиши программу...
Sоrk Posted July 19, 2006 at 06:48 AM Posted July 19, 2006 at 06:48 AM #mysql -ulogin -ppassword -hhost database < /home/import.sql #mysql -ulogin -ppassword -hhost database mysql>LOAD DATA INFILE "/home/import.sql"; загружаются любые корректные файлы любых размеров.
Serjio Posted July 19, 2006 at 07:06 AM Posted July 19, 2006 at 07:06 AM ну как поднять базу из дампа это понятно. тут вопрос в редактировании некоторых дынных базы.
cooler Posted July 19, 2006 at 11:34 AM Author Posted July 19, 2006 at 11:34 AM загружаются любые корректные файлы любых размеров. Прочитай первый мой пост внимательно ;-) Версии MySQL-серверов немного разные. А как импортить базу из командной строки - опять же читай первый пост) там строка есть)
cooler Posted July 20, 2006 at 03:01 PM Author Posted July 20, 2006 at 03:01 PM Вобщем проблема решена... Perl`ом. Так что учите перловку ;-) Если кого заинтересовала реализация могу подсказать как ;-)
Serjio Posted July 20, 2006 at 03:16 PM Posted July 20, 2006 at 03:16 PM ну дык. показывай а ты уже перл выучил ? или Ра помог?
cooler Posted July 21, 2006 at 08:08 AM Author Posted July 21, 2006 at 08:08 AM или Ра помог? Угу. Помог) Кодом не кину, но что сделать надо опишу. Можно будет подкрутить под любимый язык. Ппж опишу все в деталях.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now