Автор Тема: Mysql: восстановление одной таблицы из полного дампа  (Прочитано 3763 раз)

crazy_man

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

Код
#!/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