1 (28 Jan 2014 09:59:59 отредактировано crazy_man)

Тема: Mysql: восстановление одной таблицы из полного дампа

Ниже представленный скрипт позволяет из архива полного дампа вытащить одну таблицу.

#!/bin/sh
 
DB=$1
TABLE=$2
PATH=/some/path/backup
 
if [ -f $PATH/$DB.sql.gz ]; then
    /bin/gunzip -c $PATH/$DB.sql.gz | /usr/bin/awk '/CREATE TABLE `'$TABLE'`/,/UNLOCK TABLES/' > /tmp/$DB.$TABLE.sql
    else
    echo 'FILE not found'
fi

Небольшое пояснение по скрипту. В качестве параметров он принимает имя базы данных и имя таблицы, которую необходимо восстановить.

Имя архива состоит из имени базы с расширением sql.gz

Пример выполнения скрипта

extract_table.sh filename table_name

Из архива базы filename извлечется таблица table_name

После этого, если необходимо, можно восстановить данную таблицу в базу.

mysql -uusername -ppassword database_name < /tmp/database_name.table_name.sql