Привет всем.Есть у меня дамп mysql сервера файле, в котором полно баз. Есть ли какието утилитки которые могут выдрать из такого дампа конкретную базу данных, или кто может подскажет строчку на шеле которая такое сделает.
Спасибо
есть команды на создание базы, типа CREATE DATABASE,
с определенным именем.
между ними команды создания таблиц и все такое.
можешь парсить по этим строчкам...
>есть команды на создание базы, типа CREATE DATABASE,
> с определенным именем.
>между ними команды создания таблиц и все такое.
>можешь парсить по этим строчкам...
Отожбо и воно,
может кто уже написал скрипт который парсит, я уж в редакторе ручками выкусил.
Восстановить все базы, затем удалить ненужные :)
>Восстановить все базы, затем удалить ненужные :)Метод не для слабонервных,
мне вырезаный кусок по почте отсылать надо.
ты че готовый скрипт хочешь?
было б время...
читаешь в масив строки, с момента появления строки CREATE DATABASE до
появления второй строки. пишешь масив в файл.
>ты че готовый скрипт хочешь?
>было б время...
>читаешь в масив строки, с момента появления строки CREATE DATABASE до
>появления второй строки. пишешь масив в файл.
Вобщемто хотелось бы, пробовал одной строчкой, но чето хвост не обрезало.
cat /tmp/sql1.txt|grep -A999999 "-- Current Database"|grep -B999999 "-- Current Database" > /tmp/sql2.txt
>cat /tmp/sql1.txt|grep -A999999 "-- Current Database"|
grep -B999999 "-- NEXT Database" > /tmp/sql2.txt
>>ты че готовый скрипт хочешь?
>>было б время...
>>читаешь в масив строки, с момента появления строки CREATE DATABASE до
>>появления второй строки. пишешь масив в файл.
>
>
>Вобщемто хотелось бы, пробовал одной строчкой, но чето хвост не обрезало.
>cat /tmp/sql1.txt|grep -A999999 "-- Current Database"|grep -B999999 "-- Current Database" > /tmp/sql2.txtУ меня нет дампа mysql, поэтому конкретные строчки-разделители подставить не могу, но что-то типа
cat /tmp/sql1.txt | awk '/признак начала/, /признак конца/' > /tmp/sql2.txt
- при условии различия признаков начала и конца и уникальности их для каждой базы
Cпасибо,Самый толковый ответ.
>>>ты че готовый скрипт хочешь?
>>>было б время...
>>>читаешь в масив строки, с момента появления строки CREATE DATABASE до
>>>появления второй строки. пишешь масив в файл.
>>
>>
>>Вобщемто хотелось бы, пробовал одной строчкой, но чето хвост не обрезало.
>>cat /tmp/sql1.txt|grep -A999999 "-- Current Database"|grep -B999999 "-- Current Database" > /tmp/sql2.txt
>
>У меня нет дампа mysql, поэтому конкретные строчки-разделители подставить не могу, но
>что-то типа
>
>cat /tmp/sql1.txt | awk '/признак начала/, /признак конца/' > /tmp/sql2.txt
>
>- при условии различия признаков начала и конца и уникальности их для
>каждой базы
>Привет всем.
>
>Есть у меня дамп mysql сервера файле, в котором полно баз. Есть
>ли какието утилитки которые могут выдрать из такого дампа конкретную базу
>данных, или кто может подскажет строчку на шеле которая такое сделает.
>
>
>Спасибопогляди на mysql.ru
там я что-то подобное видел.