Visão geral
Nota:
Para economizar a capacidade de armazenamento, os backups físicos e lógicos no TencentDB for MySQL devem ser compactados com o qpress e depois empacotados com o xbstream oferecidos pela Percona.
O Percona XtraBackup tem código aberto e pode ser usado para fazer backup e restaurar bancos de dados. Este documento descreve como usar o XtraBackup para restaurar um arquivo de backup físico da instância do TencentDB for MySQL para um banco de dados auto-construído na CVM.
O XtraBackup é compatível apenas com o sistema operacional Linux.
Pré-requisitos
Baixe e instale o XtraBackup.
Arquiteturas de instâncias suportadas: MySQL de dois ou três nós
Instâncias com criptografia de dados habilitada não podem ser restauradas de um backup físico.
Nota:
Este documento usa uma instância de CVM executando CentOS e uma instância MySQL v5.7 como exemplo.
Instruções
Etapa 1. Baixe o arquivo de backup
Você pode baixar backups de dados e backups de log de instâncias do TencentDB for MySQL no console.
Nota:
Cada IP pode ter até 10 links de download por padrão, com um limite de velocidade de download de 20–30 Mbps cada.
1. Faça login no console do TencentDB for MySQL. Na lista de instâncias, clique em um ID ou em Manage (Gerenciar) na coluna Operation (Operação) para acessar a respectiva página de gerenciamento. 2. Na guia Backup and Restore (Fazer backup e restaurar) > Data Backup List (Lista de backup de dados), localize o arquivo de backup a ser baixado e clique em Download na coluna Operation (Operação).
Nota:
Você também pode clicar em Download para baixá-lo diretamente. No entanto, isso pode levar mais tempo.
Formato de comandowget: wget -c 'backup file download address' -O custom filename.xb
O exemplo é o seguinte:
wget -c 'https://mysql-database-backup-sh-1218.cos.ap-nanjing.myqcloud.com/12427%2Fmysql%2F0674-ffba-11e9-b592-70bd%2Fdata%2Fautomatic-delete%2F2019-12-03%2Fautomatic%2Fxtrabackup%2Fbk_61_156758150%2Fcdb-293fl9ya_backup_20191203000202.xb?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKzxfbLJ1%26q-sign-time%3D1575374119%3B1575417319%26q-key-time%3D1575374119%3B1575417319%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3Dba959757&response-content-disposition=attachment%3Bfilename%3D%22yuan177685_backup_20191203000202.xb%22&response-content-type=application%2Foctet-stream' -O /data/test.xb
Etapa 2: Baixe a chave de descriptografia do backup (esta etapa é necessária apenas se o recurso de criptografia de backup estiver ativado)
Você pode baixar a chave de descriptografia do backup de dados do banco de dados em nuvem MySQL pelo console.
Nota:
A chave de descriptografia de cada backup do banco de dados é gerada individualmente. Se a criptografia de backup estiver ativada, você precisará baixar e salvar a chave junto com o arquivo de backup ao realizar o download.
1. Faça login no console do TencentDB for MySQL. Na lista de instâncias, clique em um ID ou em Manage (Gerenciar) na coluna Operation (Operação) para acessar a respectiva página de gerenciamento. 2. Na página de gerenciamento de instâncias, acesse Fazer backup e restaurar > Lista de backup de dados, selecione a chave de descriptografia correspondente ao backup que deseja baixar e clique em Download na coluna Operação.
3. Na caixa de diálogo pop-up, selecione o caminho do arquivo onde deseja salvar a chave e clique em Download.
Etapa 3. Restaurar dados
3.1 Descompacte o arquivo de backup
Execute o comando xbstream para descompactar o arquivo de backup no diretório de destino.
xbstream -x --parallel=2 -C /data/mysql < /data/test.xb
Nota:
O diretório de destino /data/mysql é usado como exemplo neste documento. Você pode substituí-lo pelo diretório que você realmente usa para armazenar o arquivo de backup.
Substitua /data/test.xb pelo seu arquivo de backup.
O resultado da descompactação é mostrado abaixo:
Se o arquivo de backup a ser descompactado for um backup de binlog, utilize o comando abaixo:
openssl enc -d -aes256 -k <encrypt_key> -in <download_binlog_name> -out <output_binlog_name>;
<encrypt_key>: substitua pelo conteúdo real do arquivo de chave de backup.
<download_binlog_name>: substitua pelo nome real do arquivo binlog criptografado.
<output_binlog_name>: substitua pelo nome real do arquivo binlog descriptografado.
3.2 Descompacte o arquivo de backup
1. Baixe o qpress executando o seguinte comando:
wget -d --user-agent="Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10. http://www.quicklz.com/qpress-11-linux-x64.tar
2. Extraia os arquivos binários do qpress executando o seguinte comando.
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile
3. Descompacte todos os arquivos .qp no diretório de destino executando o seguinte comando do qpress:
xtrabackup --decompress --target-dir=/data/mysql
Nota:
/data/mysql é o diretório de destino onde o arquivo de backup foi armazenado anteriormente. Você pode substituí-lo pelo diretório que você realmente usa.
A opção --remove-original é suportada apenas no Percona Xtrabackup v2.4.6 e posterior.
Por padrão, xtrabackup não excluirá os arquivos originais durante a descompactação. Se você deseja excluí-los após a conclusão da descompactação, adicione o parâmetro --remove-original ao comando acima.
3.3 Prepare o arquivo de backup
Depois que um arquivo de backup é descompactado, você precisa executar a operação "apply log" executando o comando a seguir.
xtrabackup --prepare --target-dir=/data/mysql
Se o resultado da execução contiver a saída a seguir, significa que a preparação foi bem-sucedida.
3.4 Modificar o arquivo de configuração
1. Execute o seguinte comando para abrir o arquivo backup-my.cnf.
vi /data/mysql/backup-my.cnf
Nota:
O diretório de destino /data/mysql é usado como exemplo neste documento. Você pode substituí-lo pelo diretório que você realmente usa.
2. Considerando os problemas de versão existentes, os seguintes parâmetros precisam ser comentados a partir do arquivo extraído backup-my.cnf.
innodb_checksum_algorithm
innodb_log_checksum_algorithm
innodb_fast_checksum
innodb_page_size
innodb_log_block_size
redo_log_version
server_uuid
master_key_id
3.5 Modificar atributos de arquivo
Modifique os atributos do arquivo e verifique se os arquivos são de propriedade do usuário mysql.
chown -R mysql:mysql /data/mysql
Etapa 4. Inicie o processo mysqld e faça login para verificação
1. Inicie o processo mysqld.
mysqld_safe --defaults-file=/data/mysql/backup-my.cnf --user=mysql --datadir=/data/mysql &
2. Faça login no cliente para verificação.
Nota:
A senha inserida após executar o comando é a senha da conta root do banco de dados na nuvem para o qual você está restaurando o arquivo de backup.
Perguntas frequentes sobre backup