Como restaurar apenas UM banco de dados mysql de um backup coletivo

1

Eu tenho uma tarefa mysqldump agendada que usa a opção --all-databases. Isso inclui todos os bancos de dados em um arquivo.

Como posso dizer ao mysql para importar um dos bancos de dados contidos no arquivo de despejo?

-M

Obrigado pela resposta pessoal. Muito apreciado... Acabei não usando a opção --all-databases. Aqui está um script alternativo:

#! /bin/bash
date='date +%A'
for i in /var/lib/mysql/*/; do
dbname='basename $i'
mysqldump -u <whatever username> --password=<whatever pw>--single-transaction $dbname > <path>/$date/$dbname-backup.sql
done
    
por Mike B 19.12.2009 / 21:42

2 respostas

3

Edite o arquivo de despejo para extrair as instruções relacionadas ao banco de dados de interesse, ou então carregue todo o despejo em um servidor de banco de dados inicial e copie apenas o banco de dados de interesse.

É por isso que as pessoas que sabem saem de seus bancos de dados para separar arquivos.

    
por 19.12.2009 / 21:52
1

Aqui está outra modificação.

for i in $(mysql -N -e 'show databases' -uroot -p'password' ); do mysqldump -uroot -p'password' $i | gzip -9c > /root/backups/$i\_$(date +\%Y-\%m-\%d_\%Hh\%M).sql.gz; done
    
por 09.11.2011 / 21:46