URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 37512
[ Назад ]

Исходное сообщение
"Mysql dump"

Отправлено Sergey , 20-Ноя-03 15:20 
Привет всем.

Есть у меня дамп mysql сервера файле, в котором полно баз. Есть ли какието утилитки которые могут выдрать из такого дампа конкретную базу данных, или кто может подскажет строчку на шеле которая такое сделает.

Спасибо


Содержание

Сообщения в этом обсуждении
"Mysql dump"
Отправлено denn , 20-Ноя-03 15:28 
есть команды на создание базы, типа CREATE DATABASE,
с определенным именем.
между ними команды создания таблиц и все такое.
можешь парсить по этим строчкам...

"Mysql dump"
Отправлено Sergey , 20-Ноя-03 17:51 
>есть команды на создание базы, типа CREATE DATABASE,
> с определенным именем.
>между ними команды создания таблиц и все такое.
>можешь парсить по этим строчкам...


Отожбо и воно,
может кто уже написал скрипт который парсит, я уж в редакторе ручками выкусил.


"Mysql dump"
Отправлено deadmoroz2 , 20-Ноя-03 17:35 
Восстановить все базы, затем удалить ненужные :)

"Mysql dump"
Отправлено Sergey , 20-Ноя-03 17:52 
>Восстановить все базы, затем удалить ненужные :)

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


"Mysql dump"
Отправлено denn , 20-Ноя-03 17:57 
ты че готовый скрипт хочешь?
было б время...
читаешь в масив строки, с момента появления строки CREATE DATABASE до
появления второй строки. пишешь масив в файл.

"Mysql dump"
Отправлено Sergey , 20-Ноя-03 19:18 
>ты че готовый скрипт хочешь?
>было б время...
>читаешь в масив строки, с момента появления строки CREATE DATABASE до
>появления второй строки. пишешь масив в файл.


Вобщемто хотелось бы, пробовал одной строчкой, но чето хвост не обрезало.
cat /tmp/sql1.txt|grep -A999999 "-- Current Database"|grep -B999999 "-- Current Database" > /tmp/sql2.txt


"Mysql dump"
Отправлено denn , 20-Ноя-03 19:39 
>cat /tmp/sql1.txt|grep -A999999 "-- Current Database"|
grep -B999999 "-- NEXT Database" > /tmp/sql2.txt



"Mysql dump"
Отправлено dev , 21-Ноя-03 00:31 
>>ты че готовый скрипт хочешь?
>>было б время...
>>читаешь в масив строки, с момента появления строки 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 dump"
Отправлено Sergey , 21-Ноя-03 18:41 
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 dump"
Отправлено Azazelo , 20-Ноя-03 20:17 
>Привет всем.
>
>Есть у меня дамп mysql сервера файле, в котором полно баз. Есть
>ли какието утилитки которые могут выдрать из такого дампа конкретную базу
>данных, или кто может подскажет строчку на шеле которая такое сделает.
>
>
>Спасибо

погляди на mysql.ru

там я что-то подобное видел.