As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando um banco SQL de dados compatível com My como destino para AWS Database Migration Service
Você pode migrar dados para qualquer banco de dados SQL compatível com My usando AWS DMS, de qualquer um dos mecanismos de dados de origem compatíveis AWS DMS . Se você estiver migrando para um banco de dados local SQL compatível com My, é AWS DMS necessário que seu mecanismo de origem resida no ecossistema. AWS O mecanismo pode estar em um serviço AWS gerenciado, como AmazonRDS, Amazon Aurora ou Amazon S3. Ou o mecanismo pode estar em um banco de dados autogerenciado na AmazonEC2.
Você pode usar SSL para criptografar conexões entre seu endpoint SQL compatível com My e a instância de replicação. Para obter mais informações sobre como usar SSL com um endpoint SQL compatível com My, consulte. Usando SSL com AWS Database Migration Service
Para obter informações sobre as versões do My SQL que oferecem AWS DMS suporte como destino, consulteMetas para AWS DMS.
Você pode usar os seguintes bancos de dados SQL compatíveis com My como destinos para AWS DMS:
-
Edição My SQL Community
-
Minha edição SQL padrão
-
Edição My SQL Enterprise
-
Edição My SQL Cluster Carrier Grade
-
MariaDB Community Edition
-
MariaDB Enterprise Edition
-
MariaDB Column Store
-
Amazon Aurora My SQL
nota
Independentemente do mecanismo de armazenamento de origem (MyISAM,MEMORY, etc.), AWS DMS cria uma tabela SQL de destino compatível com My como uma tabela InnoDB por padrão.
Se precisar de uma tabela em um mecanismo de armazenamento diferente do InnoDB, você pode criar manualmente a tabela no destino SQL compatível com My e migrar a tabela usando a opção Não fazer nada. Para obter mais informações, consulte Configurações de tarefa de carregamento completo.
Para obter detalhes adicionais sobre como trabalhar com um banco SQL de dados compatível com My como destino AWS DMS, consulte as seções a seguir.
Tópicos
- Usando qualquer banco SQL de dados compatível com My como destino para AWS Database Migration Service
- Limitações no uso de um banco SQL de dados compatível com My como destino para AWS Database Migration Service
- Configurações de endpoint ao usar um banco de dados SQL compatível com My como destino para AWS DMS
- Tipos de dados de destino para My SQL
Usando qualquer banco SQL de dados compatível com My como destino para AWS Database Migration Service
Antes de começar a trabalhar com um banco SQL de dados compatível com My como destino para AWS DMS, certifique-se de ter preenchido os seguintes pré-requisitos:
-
Forneça uma conta de usuário AWS DMS que tenha privilégios de leitura/gravação no banco de dados compatível com MySQL. Para criar os privilégios necessários, execute os seguintes comandos.
CREATE USER '<user acct>'@'%' IDENTIFIED BY '<user password>'; GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON <schema>.* TO '<user acct>'@'%'; GRANT ALL PRIVILEGES ON awsdms_control.* TO '<user acct>'@'%';
-
Durante a fase de migração de carga máxima, você precisa desativar as chaves externas nas suas tabelas de destino. Para desativar as verificações de chave estrangeira em um banco SQL de dados compatível com My durante um carregamento completo, você pode adicionar o seguinte comando à seção Atributos de conexão extra do AWS DMS console do seu endpoint de destino.
Initstmt=SET FOREIGN_KEY_CHECKS=0;
-
Defina o parâmetro
local_infile = 1
do banco de dados para permitir que o AWS DMS carregue dados no banco de dados de destino. -
Conceda os seguintes privilégios se você usar minhas avaliações SQL de pré-migração específicas.
grant select on mysql.user to <dms_user>; grant select on mysql.db to <dms_user>; grant select on mysql.tables_priv to <dms_user>; grant select on mysql.role_edges to <dms_user> #only for MySQL version 8.0.11 and higher
Limitações no uso de um banco SQL de dados compatível com My como destino para AWS Database Migration Service
Ao usar Meu SQL banco de dados como destino, AWS DMS não oferece suporte ao seguinte:
-
As instruções da linguagem de definição de dados (DDL) TRUNCATE PARTITION DROPTABLE, RENAME TABLE e.
-
Uso de uma declaração
ALTER TABLE
para adicionar colunas ao início ou meio de uma tabela.table_name
ADD COLUMNcolumn_name
-
Ao carregar dados em um destino SQL compatível com My em uma tarefa de carregamento total, AWS DMS não relata erros causados por restrições nos registros de tarefas, o que pode causar erros de chave duplicados ou incompatibilidades com o número de registros. Isso é causado pela forma como My SQL manipula dados locais com o
LOAD DATA
comando. Faça o seguinte durante a fase de carga máxima:Desativar restrições
Use a AWS DMS validação para garantir que os dados sejam consistentes.
-
Quando você atualiza o valor de uma coluna para o valor existente, os bancos de dados SQL compatíveis com My retornam um
0 rows affected
aviso. Embora esse comportamento não seja tecnicamente um erro, ele é diferente de como a situação é controlada por outros mecanismos de banco de dados. Por exemplo, o Oracle executa uma atualização de uma linha. Para bancos de dados SQL compatíveis com My, AWS DMS gera uma entrada na tabela de controle awsdms_apply_exceptions e registra o seguinte aviso.Some changes from the source database had no impact when applied to the target database. See awsdms_apply_exceptions table for details.
O Aurora Serverless está disponível como destino para o Amazon Aurora versão 2, compatível com o My versão 5.7. SQL (Selecione Aurora My SQL versão 2.07.1 para poder usar o Aurora Serverless com compatibilidade com o My 5.7.) SQL Para obter mais informações sobre o Aurora Serverless, consulte Como usar o Aurora Serverless v2 no Guia do usuário do Amazon Aurora.
AWS DMS não suporta o uso de um endpoint de leitura para Aurora ou RDS Amazon, a menos que as instâncias estejam no modo gravável, ou seja,
read_only
os parâmetrosinnodb_read_only
e estejam definidos como ou.0
OFF
Para obter mais informações sobre o uso da Amazon RDS e da Aurora como destinos, consulte o seguinte:
Configurações de endpoint ao usar um banco de dados SQL compatível com My como destino para AWS DMS
Você pode usar as configurações do endpoint para configurar seu banco de dados SQL de destino compatível com My, de forma semelhante ao uso de atributos de conexão extras. Você especifica as configurações ao criar o endpoint de destino usando o AWS DMS console ou usando o create-endpoint
comando no AWS CLI, com a --my-sql-settings '{"
JSON sintaxe.EndpointSetting"
:
"value"
, ...
}'
A tabela a seguir mostra as configurações de endpoint que você pode usar com My SQL como destino.
Nome | Descrição |
---|---|
|
Especifica o destino para onde devem migrar as tabelas de origem, seja para um único banco de dados ou vários. Se você especificar Valor padrão: Valores válidos: { Exemplo: |
|
Melhora o desempenho ao carregar dados no banco de dados SQL de destino compatível com My. Especifica quantos segmentos usar para carregar os dados no banco de dados de destino SQL compatível com My. Configurar um grande número de threads pode ter um efeito adverso no desempenho do banco de dados, pois cada thread requer uma conexão separada. Valor padrão: 1 Valores válidos: 1 a 5 Exemplo: |
|
Especifica um script para ser executado imediatamente após a conexão do AWS DMS com o endpoint. Por exemplo, você pode especificar que o destino SQL compatível com My traduza as instruções recebidas no conjunto de caracteres latin1, que é o conjunto de caracteres padrão compilado do banco de dados. Esse parâmetro normalmente melhora o desempenho na conversão de UTF8 clientes. Exemplo: |
|
Especifica o tamanho máximo (em KB) de qualquer arquivo.csv usado para transferir dados para um banco de dados compatível com MySQL. Valor padrão: 32768 KB (32 MB) Valores válidos: 1 a 1.048.576
|
Você também pode usar atributos de conexão extras para configurar seu banco de dados SQL de destino compatível com My.
A tabela a seguir mostra os atributos extras de conexão que você pode usar com My SQL como destino.
Nome | Descrição |
---|---|
|
Desabilita as verificações de chaves estrangeiras. Exemplo: |
|
Especifica o fuso horário do banco de dados SQL compatível com My de destino. Valor padrão: UTC Valores válidos: os nomes de fuso horário disponíveis no Meu SQL banco de dados de destino. Exemplo: |
Como alternativa, é possível utilizar o parâmetro AfterConnectScript
do comando --my-sql-settings
para desativar as verificações de chave estrangeira e especificar o fuso horário do banco de dados.
Tipos de dados de destino para My SQL
A tabela a seguir mostra os tipos SQL de dados de destino do Meu banco de dados que são suportados durante o uso AWS DMS e o mapeamento padrão dos tipos de AWS DMS dados.
Para obter informações adicionais sobre AWS DMS os tipos de dados, consulteTipos de dados do AWS Database Migration Service.
AWS DMS tipos de dados |
Meus tipos SQL de dados |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
Se o comprimento for de 1 a 65.535, use VARBINARY (comprimento). Se o comprimento for de 65.536 a 2.147.483.647, use. LONGLOB |
DATE |
DATE |
TIME |
TIME |
TIMESTAMP |
“Se a escala for => 0 e =< 6, então: DATETIME (Escala) Se a escala for => 7 e =< 9, então: VARCHAR (37)” |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
DECIMAL(ps, s) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE PRECISION |
STRING |
Se o comprimento for de 1 a 21.845, use VARCHAR (comprimento). Se o comprimento for de 21.846 a 2.147.483.647, use. LONGTEXT |
UINT1 |
UNSIGNED TINYINT |
UINT2 |
UNSIGNED SMALLINT |
UINT4 |
UNSIGNED INTEGER |
UINT8 |
UNSIGNED BIGINT |
WSTRING |
Se o comprimento for de 1 a 32.767, use VARCHAR (comprimento). Se o comprimento for de 32.768 a 2.147.483.647, use. LONGTEXT |
BLOB |
Se o comprimento for de 1 a 65.535, use. BLOB Se o comprimento for de 65.536 a 2.147.483.647, use. LONGBLOB Se o comprimento for 0, use LONGBLOB (LOBsuporte total). |
NCLOB |
Se o comprimento for de 1 a 65.535, use. TEXT Se o comprimento for de 65.536 a 2.147.483.647, use com ucs2 for. LONGTEXT CHARACTER SET Se o comprimento for 0, use LONGTEXT (LOBsuporte total) com ucs2 for. CHARACTER SET |
CLOB |
Se o comprimento for de 1 a 65.535, use. TEXT Se o comprimento for de 65.536 a 2147483647, use. LONGTEXT Se o comprimento for 0, use LONGTEXT (LOBsuporte total). |