cooler Posted July 18, 2006 Posted July 18, 2006 У меня есть дамп MySQL базы на 992 мб. ( о_О сам удивилсо ) Необходимо импортировать в базу. Дамп брался на другой машине (версия MySQL не слишком но меньше. Различие в 4.0.хх) Простой импорт базы скриптом не получается, поскольку в дампе присутствуют имена разделов со значениями системных переменных. Т.е. date tinytext NOT NULL и подобные Для успешного импорта необходимо экранировать и имена таблиц и имена данных значений. Как это можно сделать? Реально ли экранировать данные параметры при импорте в базу "на лету" модифицируя команду: cat base.sql | mysql DB_NAME && rm -f *.sql
Sanito Posted July 18, 2006 Posted July 18, 2006 Простой импорт базы скриптом не получается, поскольку в дампе присутствуют имена разделов со значениями системных переменных. что за имена разделов? Похоже тебе надо выгрузить дамп с опцией "обрамлять в обратные кавычки имена сущностей", не помню как она звучит (и сейчас не за консолью), посмотри man.
cooler Posted July 18, 2006 Author Posted July 18, 2006 Похоже тебе надо выгрузить дамп с опцией "обрамлять в обратные кавычки имена сущностей" Да мне надо с уже выгруженым дампом проделать данную операцию.. Обьясняю дамп сняли с сервера, но сервер демонтирован. Сейчас с него снять какие-либо дампы физически невозможно. А дампили без вот такой галочки.. Вот мне и надо сконвертить текущий дамп в корректный с экранизацией.
Sanito Posted July 18, 2006 Posted July 18, 2006 Советую "экранировать" это ручками. Т.к. в любом автоматическом сценарии может быть ошибка, потом будешь страдать. Уверен, что такой большой размер дампа обусловлен наличием большого кол-ва данных, а DDL операций там немного, так что работы от силы на 15-20 минут. Только редактор надо такой, чтоб не поехал мозгами от почти гига текста ;-)
cooler Posted July 18, 2006 Author Posted July 18, 2006 Ручками говориш... Я тут 18 метровый дамп ручками редактил... Чуть сам мозгами не поехал... часа за два заэкранировал. С поиском/заменой редактил... Т.е. Почти на автоматизме.. А тут гиговая фигня такая... У меня на серваке mc говорит: "а не пошел бы ты погулять с такими размерами?!" Под виндой ИМХО неодин текстовик не выжывет от гигового текстовичка.... Итак... Какие предложения будут еще?
-=Dem[ON!]=- Posted July 18, 2006 Posted July 18, 2006 Попробуй прожки типа http://www.simplesite.narod.ru/progr2/SimTextReplacer13.zip http://www.replsoft.com/batchreplacer.zip Возможно, они осилят твой файл.
Ork Yason Posted July 19, 2006 Posted July 19, 2006 помницца редактировал бекап фаерберда через фару полгига открыл... не получится с фаром - тогда пиши программу...
Sоrk Posted July 19, 2006 Posted July 19, 2006 #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 Posted July 19, 2006 ну как поднять базу из дампа это понятно. тут вопрос в редактировании некоторых дынных базы.
cooler Posted July 19, 2006 Author Posted July 19, 2006 загружаются любые корректные файлы любых размеров. Прочитай первый мой пост внимательно ;-) Версии MySQL-серверов немного разные. А как импортить базу из командной строки - опять же читай первый пост) там строка есть)
cooler Posted July 20, 2006 Author Posted July 20, 2006 Вобщем проблема решена... Perl`ом. Так что учите перловку ;-) Если кого заинтересовала реализация могу подсказать как ;-)
Serjio Posted July 20, 2006 Posted July 20, 2006 ну дык. показывай а ты уже перл выучил ? или Ра помог?
cooler Posted July 21, 2006 Author Posted July 21, 2006 или Ра помог? Угу. Помог) Кодом не кину, но что сделать надо опишу. Можно будет подкрутить под любимый язык. Ппж опишу все в деталях.
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