Você pode usar os comandos BACKUP e RESTORE para exportar backups para seus buckets de armazenamento,
além de fazer backup ou restaurar pela interface.
Este guia apresenta os comandos para os três CSPs.
Requisitos
Você precisará dos seguintes detalhes para exportar/restaurar backups para o seu próprio bucket de armazenamento em um CSP:
- endpoint do S3 da AWS, no formato:
s3://<bucket_name>.s3.amazonaws.com/<optional_directory>Por exemplo:s3://testchbackups.s3.amazonaws.com/Onde:testchbackupsé o nome do bucket do S3 para o qual os backups serão exportados.backupsé um subdiretório opcional.
- Chave de acesso e segredo da AWS. A autenticação baseada em AWS Role também é compatível e pode ser usada no lugar da chave de acesso e do segredo da AWS, conforme descrito na seção acima.
- endpoint do GCS, no formato:
https://storage.googleapis.com/<bucket_name>/ - Chave de acesso HMAC e segredo HMAC.
- String de conexão do armazenamento do Azure.
- Nome do container do Azure na conta de armazenamento.
- Blob do Azure dentro do container.
Backup / restauração de um BD específico
Aqui mostramos como fazer backup e restaurar um único banco de dados. Consulte o resumo dos comandos de backup para ver os comandos de backup completo e restauração.
AWS S3
BACKUP DATABASE test_backups
TO S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)Em que uuid é um identificador único, usado para diferenciar um conjunto de backups.
RESTORE DATABASE test_backups
FROM S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)Google Cloud Storage (GCS)
BACKUP DATABASE test_backups
TO S3(
'https://storage.googleapis.com/<bucket>/<uuid>',
'<hmac-key>',
'<hmac-secret>'
)Onde uuid é um identificador único usado para identificar o backup.
RESTORE DATABASE test_backups
FROM S3(
'https://storage.googleapis.com/<bucket>/<uuid>',
'<hmac-key>',
'<hmac-secret>'
)Azure Blob Storage
BACKUP DATABASE test_backups
TO AzureBlobStorage(
'<AzureBlobStorage endpoint connection string>',
'<container>',
'<blob>/<>'
)Onde uuid é um identificador único usado para identificar o backup.
RESTORE DATABASE test_backups
FROM AzureBlobStorage(
'<AzureBlobStorage endpoint connection string>',
'<container>',
'<blob>/<uuid>'
)Backup / restore de todo o serviço
Para fazer backup de todo o serviço, use os comandos abaixo. Este backup conterá todos os dados de usuário e os dados do sistema das entidades criadas, settings profiles, políticas de roles, quotas e funções. Listamos aqui os exemplos para AWS S3. Você pode usar esses comandos com a sintaxe descrita acima para fazer backups no GCS e no Azure Blob Storage.
BACKUP
TABLE system.users,
TABLE system.roles,
TABLE system.settings_profiles,
TABLE system.row_policies,
TABLE system.quotas,
TABLE system.functions,
ALL EXCEPT DATABASES INFORMATION_SCHEMA, information_schema, system
TO S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)em que uuid é um identificador único, usado para identificar o backup.
RESTORE ALL
FROM S3(
'https://testchbackups.s3.amazonaws.com/<uuid>',
'<key id>',
'<key secret>'
)
SETTINGS restore_access_entities_with_current_grants = 1A configuração restore_access_entities_with_current_grants está disponível a partir da versão 26.4 do ClickHouse Cloud (compilação 26.4.1.1942 ou posterior).
Você pode verificar a versão em que seu serviço está sendo executado com:
SELECT version()Quando restore_access_entities_with_current_grants está habilitada, os usuários e roles restaurados têm seus grants limitados ao que o usuário que está restaurando tem permissão para conceder
(a mesma semântica de GRANT CURRENT GRANTS), em vez de o RESTORE
falhar com ACCESS_DENIED quando o backup contém mais permissões do que o usuário que está restaurando pode conceder.
Em versões anteriores à 26.4, omita a configuração.
FAQ
O que acontece com os backups no meu armazenamento de objetos em nuvem? O ClickHouse os remove em algum momento?
Oferecemos a possibilidade de exportar backups para o seu bucket, mas não fazemos a limpeza nem excluímos nenhum backup depois que ele é gravado. Você é responsável por gerenciar o ciclo de vida dos backups no seu bucket, inclusive excluindo-os, arquivando-os conforme necessário ou movendo-os para um armazenamento mais barato para otimizar o custo total.
O que acontece com o processo de restauração se eu mover alguns dos backups existentes para outro local?
Se algum backup for movido para outro local, o comando de restauração precisará ser atualizado para apontar para o novo local em que os backups estão armazenados.
E se eu alterar as credenciais necessárias para acessar o armazenamento de objetos?
Você precisará atualizar na UI as credenciais alteradas para que os backups voltem a ser realizados com sucesso.
E se eu mudar o local para onde exporto meus backups externos?
Você precisará atualizar o novo local na UI, e os backups passarão a ser realizados no novo local. Os backups antigos permanecerão no local original.
Como posso desativar backups externos em um serviço no qual eu os habilitei?
Para desativar backups externos de um serviço, vá até a tela de configurações do serviço e clique em Change external backup. Na tela seguinte, clique em Remove setup para desativar os backups externos do serviço.