Mysqldump all and restore one

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
koffu
сержант
Сообщения: 154
Зарегистрирован: 2008-03-23 0:51:18
Откуда: Киев
Контактная информация:

Mysqldump all and restore one

Непрочитанное сообщение koffu » 2009-07-08 16:01:47

Добрый день, коллеги!

Снова прошу совета. Есть довольно таки большой бэкап БД сделанный mysqldump --all-databases > mysqldump.sql. Мне нужно оттуда выдернуть одну не очень большую БД. Подскажите, как это правильно сделать, чтобы не восстанавливать все базы? Если делаю mysql -u root -p dbname < mysqldump.sql, то восстанавливается все, мне это не нужно, т.к. из всех бекапов нужно найти наиболее актуальный, а мой ноут Pm1,73 восстанавливает один бэкап около 45 мин.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: Mysqldump all and restore one

Непрочитанное сообщение ViktorichZ » 2009-07-08 16:10:32

не делайте так никогда "mysqldump --all-databases"
ну либо ручками разбирать, либо залить куданить в инет базу и выдернуть только то, что надо

Аватара пользователя
koffu
сержант
Сообщения: 154
Зарегистрирован: 2008-03-23 0:51:18
Откуда: Киев
Контактная информация:

Re: Mysqldump all and restore one

Непрочитанное сообщение koffu » 2009-07-08 16:14:31

У меня нет точного скрипта с какими опциями его делали, есть только готовый mysqldump.tgz. А выдернуть как-то красиво и автоматически можно?
Можно конечно сделать распаковку всего дампа, а потом сделать дамп нужной таблицы, с какими его опциями импортировать? Для теста есть линукс, распаковывать будем на фрю, откуда и сливали.
Кусочек из дампа:

Код: Выделить всё

--
-- Table structure for table `archive`
--

DROP TABLE IF EXISTS `archive`;
SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `archive` (
  `ar_namespace` int(11) NOT NULL default '0',
  `ar_title` varchar(255) character set latin1 collate latin1_bin NOT NULL default '',
  `ar_text` mediumblob NOT NULL,
  `ar_comment` tinyblob NOT NULL,
  `ar_user` int(10) unsigned NOT NULL default '0',
  `ar_user_text` varchar(255) character set latin1 collate latin1_bin NOT NULL,
  `ar_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `ar_minor_edit` tinyint(4) NOT NULL default '0',
  `ar_flags` tinyblob NOT NULL,
  `ar_rev_id` int(10) unsigned default NULL,
  `ar_text_id` int(10) unsigned default NULL,
  `ar_deleted` tinyint(3) unsigned NOT NULL default '0',
  `ar_len` int(10) unsigned default NULL,
  `ar_page_id` int(10) unsigned default NULL,
  `ar_parent_id` int(10) unsigned default NULL,
  KEY `name_title_timestamp` (`ar_namespace`,`ar_title`,`ar_timestamp`),
  KEY `usertext_timestamp` (`ar_user_text`,`ar_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET character_set_client = @saved_cs_client;


zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: Mysqldump all and restore one

Непрочитанное сообщение zg » 2009-07-08 18:50:11

koffu писал(а):А выдернуть как-то красиво и автоматически можно?
можно

Аватара пользователя
buryanov
ст. сержант
Сообщения: 311
Зарегистрирован: 2008-04-29 13:41:48
Откуда: Харьков
Контактная информация:

Re: Mysqldump all and restore one

Непрочитанное сообщение buryanov » 2009-07-09 1:00:13

Я сегодня востанавливал свой exim, грохну случайно blacklist, делал так

Код: Выделить всё

cat mysqldump.sql|grep 'insert into email_blacklist' > 123.sql
mysql -p exim < 123.sql
Перед заливкой можно просмотреть фаил и подредактировать
Дмитрий.
buryanov*ukr.net
icq# 118639660; skype: buryanov

Аватара пользователя
koffu
сержант
Сообщения: 154
Зарегистрирован: 2008-03-23 0:51:18
Откуда: Киев
Контактная информация:

Re: Mysqldump all and restore one

Непрочитанное сообщение koffu » 2009-07-14 10:40:51

Решил так: на лэптопе поднял mysql и

Код: Выделить всё

mysql -p < mysqldump.sql, а потом mysql -p database > database.sql