Este artigo explica como criar ou atualizar uma instância de replicação nativa do ApsaraDB RDS for MySQL. Também aborda as permissões e limitações desse recurso.
Pré-requisitos
Para criar uma nova instância de replicação nativa ou atualizar uma instância existente, a instância deve atender aos seguintes requisitos. Visualize os detalhes da instância na página Basic Information.
Versão do banco de dados: MySQL 5.7 (versão secundária 20240930 ou posterior) ou MySQL 8.0 (versão secundária 20250531 ou posterior)
Série do produto: Basic Edition
-
Método de faturamento: assinatura ou pagamento conforme o uso
NotaPara usar uma instância de replicação nativa Serverless, crie primeiro uma instância com pagamento conforme o uso, ative a replicação nativa e, em seguida, altere o método de faturamento para Serverless.
-
Regiões com suporte: China (Shanghai), China (Beijing), China (Shenzhen), China (Guangzhou) e China (Chengdu)
ImportanteA replicação nativa para ApsaraDB RDS está disponível atualmente apenas nas regiões listadas acima. O suporte para outras regiões será adicionado futuramente. Caso necessite desse recurso em outras regiões, envie um ticket.
Faturamento
Se você ativar a replicação nativa ao adquirir uma nova instância, serão cobradas taxas padrão para a nova instância. Atualizar uma instância existente para uma instância de replicação nativa não gera taxas adicionais.
Durante a importação completa de dados para sua instância ApsaraDB RDS for MySQL, se optar por enviar um backup do seu banco de dados autogerenciado para o Object Storage Service (OSS) e depois baixá-lo para o rds, você incorrerá em taxas de armazenamento do OSS enquanto o backup estiver armazenado no OSS.
Permissões de replicação nativa
Uma conta privilegiada em uma instância de replicação nativa do ApsaraDB RDS for MySQL possui permissões indisponíveis em instâncias padrão do ApsaraDB RDS for MySQL.
Permissões de comandos de replicação
Em uma instância de replicação nativa, a conta privilegiada pode executar os seguintes comandos nativos de replicação do MySQL.
Configurar a replicação entre um banco de dados de origem e um banco de dados réplica:
CHANGE MASTER TO. Para mais informações, consulte CHANGE MASTER TO.Iniciar o processo de replicação:
START SLAVE;. Para mais informações, consulte START SLAVE.Parar o processo de replicação:
STOP SLAVE;. Para mais informações, consulte STOP SLAVE.Redefinir o estado do banco de dados réplica para reiniciar o processo de replicação a partir do banco de dados de origem:
RESET SLAVE;. Para mais informações, consulte RESET SLAVE.
Permissões de modificação de parâmetros
Em uma instância de replicação nativa, a conta privilegiada pode executar as seguintes instruções SQL para modificar parâmetros de tempo de execução.
-
Definir o modo somente leitura para o servidor de banco de dados.
SET GLOBAL read_only = ON/OFF;Quando definido como ON, o servidor entra em modo somente leitura. Quando definido como OFF, o modo somente leitura é desativado e operações de leitura e escrita são permitidas.
-
Controlar se as instruções SQL executadas na sessão atual são gravadas no log binário.
SET SESSION sql_log_bin = ON/OFF;Quando definido como ON, as operações SQL na sessão são registradas no log binário. Quando definido como OFF, as instruções SQL executadas na sessão não são registradas no log binário.
-
Definir o próximo Identificador Global de Transação (GTID).
SET SESSION GTID_NEXT = "your_gtid_value";
Durante operações de manutenção, como migração de instância ou alterações de especificação, as permissões para executar comandos de replicação nativa e modificar parâmetros são temporariamente revogadas. Isso não afeta o processo de replicação da instância. O sistema restaura as permissões após a conclusão da tarefa de manutenção.
Observações
As instâncias de replicação nativa do ApsaraDB RDS for MySQL possuem as seguintes limitações:
Limitações
A instância torna-se somente leitura.
Não há suporte para atualizações de versão principal.
Não há suporte para atualização da série do produto (por exemplo, de Basic Edition para High-availability Edition ou Cluster Edition).
Não há suporte para troca de Virtual Private Cloud (vpc).
Não há suporte para recuperação de bancos de dados e tabelas.
Ao atualizar uma instância existente para uma instância de replicação nativa, pode ocorrer uma falha transitória de conexão de aproximadamente 30 segundos. Recomendamos realizar essa operação fora dos horários de pico e garantir que sua aplicação possua um mecanismo de reconexão.
Limitações de permissão
-
Limitações da conta privilegiada
Alguns privilégios SUPER necessários para a replicação nativa são concedidos apenas à conta privilegiada da instância ApsaraDB RDS for MySQL. Somente a conta privilegiada pode executar comandos nativos como
CHANGE MASTEReSTART SLAVE. -
Lista de permissões de privilégios de replicação
Quando a replicação nativa aplica eventos de log binário externos, ela verifica primeiro os privilégios. O rds não aplica nenhuma operação que exija privilégios além da lista a seguir, o que causa a interrupção da replicação.
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO XXX; -
Limitações de bancos de dados do sistema
Todas as operações em bancos de dados do sistema são ignoradas, incluindo
mysql,sys,information_schema,performance_schemae__recyclebin__.NotaO rds não ignora operações que modificam indiretamente bancos de dados do sistema, como CREATE USER e GRANT. No entanto, as instruções SQL devem obedecer à lista de permissões de privilégios de replicação. Uma operação de escalonamento de privilégios, como GRANT super on . to xxx;, interromperá a replicação.
-
Limitações de GTID
Em uma configuração de replicação nativa do MySQL, os bancos de dados de origem e réplica devem usar o mesmo modo de Identificador Global de Transação (GTID): ambos ativados ou ambos desativados. O ApsaraDB RDS for MySQL não suporta a desativação do modo GTID. Portanto, se desejar usar uma instância ApsaraDB RDS for MySQL como réplica para um banco de dados de origem externo, o banco de dados de origem externo deve ter o modo GTID ativado para compatibilidade.
Antes de configurar a replicação, execute
SHOW VARIABLES LIKE 'gtid_mode';no banco de dados de origem externo para verificar se o modo GTID está ativado. Se não estiver, executeSET GLOBAL gtid_mode=ON;para ativá-lo.
Atualizar para uma instância de replicação nativa
Nova instância
Ao adquirir uma nova instância ApsaraDB RDS for MySQL (página de criação padrão), expanda More na parte inferior da página e ative a chave Native Replication. A opção de replicação nativa é exibida apenas quando a instância atende aos pré-requisitos.
Instância existente
Ao atualizar uma instância existente para uma instância de replicação nativa, pode ocorrer uma falha transitória de conexão de aproximadamente 30 segundos. Recomendamos realizar essa operação fora dos horários de pico e garantir que sua aplicação possua um mecanismo de reconexão.
Acesse a lista de Instâncias rds, selecione uma região e clique em no ID da instância de destino. A instância de destino deve atender aos pré-requisitos.
No painel de navegação à esquerda, clique em Native Replication e clique em Enable na página.
-
Leia atentamente as informações na caixa de diálogo e clique em Yes.
NotaSe você ainda não autorizou a conta de serviço oficial do ApsaraDB RDS a acessar seu bucket do OSS e a criar e anexar uma interface de rede elástica (ENI) em sua conta, marque as caixas de seleção correspondentes para conceder as permissões.
Etapa 2: Configurar a replicação de dados
-
Instalar o Percona XtraBackup no banco de dados autogerenciado e realizar um backup
-
Instale o Percona XtraBackup:
Instalação no CentOS
-
MySQL 5.7
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm -
MySQL 8.0
wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
Instalação no Ubuntu
-
Instale o Percona XtraBackup.
-
MySQL 5.7
# 1. Download the Percona repository package. wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb # 2. Install the repository package. sudo dpkg -i percona-release_latest.generic_all.deb # 3. Update the package lists. sudo apt-get update # 4. Install Percona XtraBackup. sudo apt-get install -y percona-xtrabackup-24 -
MySQL 8.0
# 1. Download the Percona repository package (if not done in a previous step). wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb # 2. Install the repository package. sudo dpkg -i percona-release_latest.generic_all.deb # 3. Update the package lists. sudo apt-get update # 4. Install Percona XtraBackup. sudo apt-get install -y percona-xtrabackup-80
-
-
Instale o qpress. O Percona XtraBackup para Ubuntu não inclui o qpress; portanto, instale-o separadamente.
sudo apt-get install -y qpress -
Crie um backup.
Os três métodos de compressão a seguir baseiam-se no comando
xtrabackupe são adequados para instâncias que usam principalmente o mecanismo InnoDB. Se o seu banco de dados contiver tabelas MyISAM, use o comandoinnobackupex.Compressão qpress padrão
xtrabackup --backup \ --host=127.0.0.1 \ --port=3306 \ --user=<your_user> \ --password=<your_password> \ --stream=xbstream \ --compress > ./<your_backup.xb>Compressão QuickLZ
Este método requer o Percona XtraBackup 8.0.34-29 ou anterior. Para mais informações, consulte a documentação oficial do Percona XtraBackup.
xtrabackup --backup \ --host=127.0.0.1 \ --port=3306 \ --user=<your_user> \ --password=<your_password> \ --stream=xbstream \ --compress > ./<your_backup_qp.xb>Compressão ZSTD externa
xtrabackup --backup \ --host=127.0.0.1 \ --port=3306 \ --user=<your_user> \ --password=<your_password> \ --stream=xbstream \ | zstd -q - > ./<your_backup.xb.zstd> -
Importar dados completos e configurar automaticamente a replicação de dados
NotaAntes de importar dados, certifique-se de que exista uma conexão de rede entre seu banco de dados MySQL autogerenciado e sua instância ApsaraDB RDS for MySQL.
Baixar do OSS
-
Enviar o backup do banco de dados autogerenciado para o OSS
Use diversas ferramentas, como a ferramenta ossutil ou SDKs do OSS, para enviar o arquivo de backup. Este tópico usa o ossutil como exemplo.
ImportanteCertifique-se de que o Bucket do OSS de destino e a instância ApsaraDB RDS for MySQL estejam na mesma região. Caso contrário, o rds não conseguirá recuperar o arquivo de backup do OSS.
-
Instale o ossutil.
yum install -y unzip sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash ossutil config -
Envie os dados de backup para o OSS.
ossutil -e <your_oss_endpoint> -i <your_accesskey_id> -k <your_accesskey_secret> cp <your_backup_file> oss://<your_bucket_name>/
-
-
Importar o arquivo de backup do OSS para o rds e configurar automaticamente o link de replicação
Acesse a lista de Instâncias rds, selecione uma região e clique em no ID da instância de destino.
No painel de navegação à esquerda, clique em Native Replication.
-
Na página de replicação nativa, clique em Import Full Data, configure os seguintes parâmetros e clique em Yes.
Categoria
Parâmetro
Descrição
Configuração de Importação de Backup (Obrigatório)
MySQL Version
O sistema exibe automaticamente 5.7 ou 8.0. Nenhuma configuração é necessária.
Method
Selecione Import from OSS.
OSS Bucket
Selecione o bucket do OSS onde o arquivo de backup do banco de dados autogerenciado está armazenado. Para mais informações sobre buckets do OSS, consulte Enviar arquivos.
OSS File Name
Selecione o arquivo de backup do banco de dados autogerenciado no bucket do OSS. Se o arquivo de backup estiver em um subdiretório do bucket do OSS, insira manualmente o nome completo do caminho para pesquisá-lo. Os três formatos de arquivo de backup a seguir têm suporte:
-
Um arquivo
xbstreamgerado pelo Percona XtraBackup. -
Um arquivo
_qp.xbgerado usando a compressão QuickLZ integrada do Percona XtraBackup. -
Um arquivo
xbstreamcompactado usando zstd, com extensão de arquivo.xb.zst.
Recomendamos ativar a configuração automática de replicação. O sistema configurará automaticamente o link de replicação de dados com base nas configurações a seguir. Se você não ativar a configuração automática de replicação, deverá configurar manualmente o link de replicação após importar os dados completos.
Configuração Automática de Replicação (Opcional)
Auto-setup Replication
Ative esta chave para estabelecer automaticamente uma relação de replicação do banco de dados MySQL autogerenciado para a instância ApsaraDB RDS for MySQL.
Source IP
Insira o endereço IP do banco de dados autogerenciado de origem.
Source Port
Insira o número da porta do banco de dados autogerenciado de origem.
Source Account
Insira o nome de usuário do banco de dados autogerenciado de origem. O usuário deve ter os privilégios
REPLICATION CLIENTeREPLICATION SLAVE.Source Account Password
Insira a senha da conta de usuário de origem.
-
Transmitir backup diretamente
-
Instalar a ferramenta backup-helper no banco de dados autogerenciado e iniciar o processo de transferência de backup
# Install the backup-helper tool. wget -O backup-helper https://mysql-backup-helper.oss-cn-beijing.aliyuncs.com/v1.0.0-alpha/backup-helper && chmod +x backup-helper # Start the backup transfer process. # Make sure that MySQL is running and the corresponding version of Percona XtraBackup is installed. ./backup-helper --backup --mode=stream --host=<mysql_ip> --port=<mysql_port> --user=<mysql_user> --password=<mysql_password> -
Importar dados para o rds
Faça login no console do ApsaraDB RDS, selecione uma região e clique em no ID da instância de destino.
No painel de navegação à esquerda, clique em Native Replication.
-
Na página de replicação nativa, clique em Import Full Data, configure os seguintes parâmetros e clique em Yes.
Categoria
Parâmetro
Descrição
Configuração de Importação de Backup (Obrigatório)
MySQL Version
O sistema exibe automaticamente 5.7 ou 8.0. Nenhuma configuração é necessária.
Method
Selecione Import from Stream Backup.
Source Backup IP Address
Insira o endereço IP usado para a transferência de backup.
Source Backup Port
Insira a porta usada para a transferência de backup. A porta padrão é 9999.
Recomendamos ativar a configuração automática de replicação. O sistema configurará automaticamente o link de replicação de dados com base nas configurações a seguir. Se você não ativar a configuração automática de replicação, deverá configurar manualmente o link de replicação após importar os dados completos.
Configuração Automática de Replicação (Opcional)
Auto-setup Replication
Ative esta chave para estabelecer automaticamente uma relação de replicação do banco de dados MySQL autogerenciado para a instância ApsaraDB RDS for MySQL.
Source IP
Insira o endereço IP do banco de dados autogerenciado de origem.
Source Port
Insira o número da porta do banco de dados autogerenciado de origem.
Source Account
Insira o nome de usuário do banco de dados autogerenciado de origem. O usuário deve ter os privilégios
REPLICATION CLIENTeREPLICATION SLAVE.Source Account Password
Insira a senha da conta de usuário de origem.
Se você não selecionou Auto-setup Replication ao importar os dados completos, ou se o link de replicação automática encontrar um problema e não puder ser recuperado, siga as etapas abaixo para estabelecer manualmente um link de replicação de dados de um banco de dados MySQL autogerenciado para uma instância ApsaraDB RDS for MySQL.
-
-
Verificar o status da replicação
Retorne à página Native Replication dos detalhes da instância rds para visualizar as informações do link de replicação de dados. Quando o status da replicação for Running, indica que o link de replicação de dados foi estabelecido com sucesso.
Desativar a replicação nativa
Acesse a lista de Instâncias rds, selecione uma região e clique em no ID da instância de destino. A instância deve ser uma instância de replicação nativa.
No painel de navegação à esquerda, clique em Native Replication e, em seguida, clique em Disable.
-
Clique em Yes.
ImportanteApós clicar em OK, a relação de replicação entre o banco de dados MySQL autogerenciado e a instância de replicação nativa do ApsaraDB RDS for MySQL é encerrada. A instância então reverte para uma instância padrão do ApsaraDB RDS for MySQL e muda do modo somente leitura para o modo de leitura e escrita, permitindo que você realize operações de escrita.
Conteúdo relacionado e API
-
Para criar uma instância de replicação nativa do ApsaraDB RDS for MySQL, chame a operação da API CreateDBInstance. Observe o seguinte:
A configuração básica da instância deve atender aos pré-requisitos. Configure outros parâmetros conforme necessário.
Defina o parâmetro ExternalReplication como ON.
Para configurar um link de replicação nativa para uma instância existente, chame a operação da API ImportUserBackupFile.
Apêndice: Configuração de rede
Para mais informações sobre problemas de conectividade de rede, consulte Conexões e rede.
Cenário
Caso de uso
Método de configuração
Taxas
Acesso entre recursos na mesma vpc
Banco de dados MySQL autogerenciado em uma instância ECS
Dentro da mesma vpc, a conectividade de rede está disponível por padrão e não requer configuração adicional. Você só precisa configurar o grupo de segurança para permitir tráfego de entrada na porta 3306 do endereço IP da instância rds para o grupo de segurança da instância ECS.
Após conectar-se à instância de replicação nativa do ApsaraDB RDS for MySQL, execute o comando
show variables like 'report_host';para obter o endereço IP.Nenhuma
Acesso entre recursos em VPCs diferentes
Sincronização de dados entre VPCs e entre regiões na Alibaba Cloud
-
Use uma conexão de peering de vpc.
-
Conecte-se usando a Cloud Enterprise Network (CEN).
-
Taxas de conexão CEN: instâncias CEN são gratuitas, mas podem ser geradas taxas por transferência de dados e uso de largura de banda.
Acesso entre um data center local e uma instância rds na nuvem
Replicação de um banco de dados autogerenciado em um data center para uma instância de replicação nativa rds
Use um VPN Gateway ou Express Connect para conectar a rede do data center à vpc onde reside a instância de replicação nativa rds.
As taxas variam conforme o método utilizado. Para mais informações, consulte a documentação oficial.
Acesso entre nuvens
Replicação de um banco de dados em outra nuvem para uma instância de replicação nativa rds
Em um ambiente multicloud, o acesso requer uma conexão de rede entre nuvens. Para um cenário de replicação nativa rds onde o rds é a origem e um banco de dados em outra nuvem é o destino, use os serviços de rede fornecidos pela outra nuvem, como VPN ou linha dedicada, para estabelecer uma conexão de rede.
As taxas variam conforme o método utilizado. Para mais informações, consulte a documentação oficial.
Acesso via rede pública (não recomendado)
N/A
Instâncias de replicação nativa rds suportam acesso a nós externos pela internet. No entanto, não recomendamos este método devido a riscos de segurança.
As taxas variam conforme o método utilizado. Para mais informações, consulte a documentação oficial.
-
-