Restauração de um backup do conjunto de réplicas em um banco de dados local
Para restaurar um arquivo de backup de instância de BD em um banco de dados local, você só pode usar bancos de dados no Linux.
Esta seção usa o sistema operacional Linux como um exemplo para descrever como restaurar o arquivo de backup baixado de uma instância do conjunto de réplicas para seus bancos de dados locais. Para obter detalhes sobre como baixar arquivos de backup, consulte Download de arquivos de backup.
Precauções
- O cliente de MongoDB 3.4 foi instalado em seu banco de dados MongoDB local.
- Somente as instâncias do DDS 3.4 e 4.0 podem ser restauradas nesse método. O DDS 4.2 ou posterior não suporta este método.
- Para obter detalhes sobre como migrar dados no nível do banco de dados ou de coleta, consulte Migração de dados usando mongodump e mongorestore.
Procedimento
- Faça logon no servidor no qual os bancos de dados locais são implementados.
Assuma que /path/to/mongo é o diretório para restauração, e /path/to/mongo/data é o diretório para armazenar o arquivo de backup.
- Antes da restauração, certifique-se de que o diretório /path/to/mongo/data esteja vazio.
cd /path/to/mongo/data/
rm -rf *
- Copie e cole o pacote de arquivos de backup baixado em /path/to/mongo/data/ e descomprima-o.
lz4 -d xxx_.tar.gz |tar -xC /path/to/mongo/data/
- Crie o arquivo de configuração mongod.conf em /path/to/mongo.
touch mongod.conf
- Inicie o banco de dados no modo de nó único.
- Modifique o arquivo mongod.conf para atender aos requisitos de configuração de inicialização de backup.
Este é um modelo de configuração para inicialização de backup:
systemLog: destination: file path: /path/to/mongo/mongod.log logAppend: true security: authorization: enabled storage: dbPath: /path/to/mongo/data directoryPerDB: true engine: wiredTiger wiredTiger: collectionConfig: {blockCompressor: snappy} engineConfig: {directoryForIndexes: true, journalCompressor: snappy} indexConfig: {prefixCompression: true} net: http: enabled: false port: 27017 bindIp: xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx unixDomainSocket: enabled: false processManagement: fork: true pidFilePath: /path/to/mongo/mongod.pid
bindIp indica o endereço IP vinculado ao banco de dados. Este campo é opcional. Se não for especificado, seu endereço IP local é vinculado por padrão.
- Execute o comando mongod.conf para iniciar o banco de dados.
/usr/bin/mongod -f /path/to/mongo/mongod.conf
/usr/bin/ é o diretório que armazena o arquivo mongod do cliente de MongoDB instalado.
- Depois que o banco de dados for iniciado, faça logon no banco de dados usando mongo shell para verificar o resultado da restauração.
mongo --host <DB_HOST> -u <DB_USER> -p <PASSWORD> --authenticationDatabase admin
- DB_HOST é o endereço IP vinculado ao banco de dados.
- DB_USER é o usuário do banco de dados. O valor padrão é rwuser.
- PASSWORD é a senha para o usuário do banco de dados, que é a senha usada para fazer backup da instância de BD.
- Modifique o arquivo mongod.conf para atender aos requisitos de configuração de inicialização de backup.
Iniciar o banco de dados no modo de conjunto de réplicas
Por padrão, o backup físico da instância de BD do DDS contém a configuração do conjunto de réplicas da instância de BD original. Você precisa iniciar o banco de dados no modo de nó único. Caso contrário, o banco de dados não poderá ser acessado.
Se você quiser iniciar o banco de dados no modo de conjunto de réplicas, execute a etapa 5 e, em seguida, execute as seguintes etapas:
- Efetue logon no banco de dados usando mongo shell.
- Remova a configuração original do conjunto de réplicas.
use local
db.system.replset.remove({})
- Interrompa o processo do banco de dados.
use admin
db.shutdownServer()
- Adicione a configuração de replicação no arquivo mongod.conf no diretório /path/to/mongo/. Para obter detalhes sobre o uso do comando, consulte Implementação de um conjunto de réplicas.
- Execute o comando mongod.conf para iniciar o banco de dados.
/usr/bin/mongod -f /path/to/mongo/mongod.conf
/usr/bin/ é o diretório que armazena o arquivo mongod do cliente de MongoDB instalado.
- Adicione os membros do conjunto de réplicas e inicialize o conjunto de réplicas.
Use o comando rs.initiate() para executar a etapa anterior. Para obter detalhes, consulte rs.initiate().