Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation d'une base de données SQL compatible My comme cible pour AWS Database Migration Service
Vous pouvez migrer des données vers n'importe quelle base de données SQL compatible My à l'aide AWS DMS de n'importe quel moteur de données source AWS DMS compatible. Si vous migrez vers une base de données SQL compatible My sur site, votre moteur source AWS DMS doit résider dans l'écosystème. AWS Le moteur peut se trouver sur un service AWS géré tel qu'AmazonRDS, Amazon Aurora ou Amazon S3. Le moteur peut également se trouver sur une base de données autogérée sur AmazonEC2.
Vous pouvez l'utiliser SSL pour chiffrer les connexions entre votre point de terminaison SQL compatible My et l'instance de réplication. Pour plus d'informations sur l'utilisation SSL avec un point de terminaison SQL compatible My, consultezUtilisation du protocole SSL avec AWS Database Migration Service.
Pour plus d'informations sur les versions de My SQL prises AWS DMS en charge en tant que cible, consultezObjectifs pour AWS DMS.
Vous pouvez utiliser les bases de données SQL compatibles My suivantes comme cibles pour AWS DMS :
-
Édition My SQL Community
-
Mon édition SQL standard
-
Édition My SQL Enterprise
-
Édition My SQL Cluster Carrier Grade
-
MariaDB Community Edition
-
MariaDB Enterprise Edition
-
MariaDB Column Store
-
Amazon Aurora My SQL
Note
Quel que soit le moteur de stockage source (My ISAMMEMORY, etc.), AWS DMS crée une table cible SQL compatible My en tant que table InnoDB par défaut.
Si vous avez besoin d'une table dans un moteur de stockage autre qu'InnoDB, vous pouvez créer manuellement la table sur la cible My SQL -compatible et migrer la table à l'aide de l'option Ne rien faire. Pour de plus amples informations, veuillez consulter Paramètres de tâche de chargement complet.
Pour plus de détails sur l'utilisation d'une base de données SQL compatible My comme cible pour AWS DMS, consultez les sections suivantes.
Rubriques
- Utiliser n'importe quelle base de données SQL compatible My comme cible pour AWS Database Migration Service
- Limitations relatives à l'utilisation d'une base de données SQL compatible My comme cible pour AWS Database Migration Service
- Paramètres du point de terminaison lors de l'utilisation d'une base de données SQL compatible My comme cible pour AWS DMS
- Types de données cibles pour My SQL
Utiliser n'importe quelle base de données SQL compatible My comme cible pour AWS Database Migration Service
Avant de commencer à utiliser une base de données SQL compatible My comme cible pour AWS DMS, assurez-vous que vous avez rempli les conditions préalables suivantes :
-
Fournissez un compte utilisateur AWS DMS disposant de privilèges de lecture/écriture sur la base de données My SQL -compatible. Pour créer les privilèges nécessaires, exécutez les commandes suivantes.
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>'@'%';
-
Pendant la phase de migration de chargement complet, vous devez désactiver les clés étrangères sur vos tables cibles. Pour désactiver les vérifications par clé étrangère sur une base de données SQL compatible My pendant un chargement complet, vous pouvez ajouter la commande suivante à la section Attributs de connexion supplémentaires de la AWS DMS console pour votre point de terminaison cible.
Initstmt=SET FOREIGN_KEY_CHECKS=0;
-
Définissez le paramètre de base de données
local_infile = 1
pour permettre à AWS DMS de charger les données dans la base de données cible. -
Accordez les privilèges suivants si vous utilisez les évaluations de prémigration SQL spécifiques à My.
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
Limitations relatives à l'utilisation d'une base de données SQL compatible My comme cible pour AWS Database Migration Service
Lorsque vous utilisez une SQL base de données My comme cible, les fonctionnalités suivantes AWS DMS ne sont pas prises en charge :
-
Les instructions du langage de définition des données (DDL) TRUNCATE PARTITION DROPTABLE, et RENAMETABLE.
-
Utilisation d'une instruction
ALTER TABLE
pour ajouter des colonnes au début ou au milieu d'une table.table_name
ADD COLUMNcolumn_name
-
Lorsque vous chargez des données vers une cible SQL compatible My dans le cadre d'une tâche à chargement complet, AWS DMS ne signale pas les erreurs causées par des contraintes dans les journaux des tâches, ce qui peut entraîner des erreurs clés dupliquées ou des incohérences avec le nombre d'enregistrements. Cela est dû à la façon dont My SQL gère les données locales avec la
LOAD DATA
commande. Veillez à effectuer les opérations suivantes pendant la phase de chargement complet :Désactivez les contraintes.
Utilisez AWS DMS la validation pour vous assurer que les données sont cohérentes.
-
Lorsque vous mettez à jour la valeur d'une colonne à sa valeur existante, les bases de données compatibles My SQL -compatible renvoient un
0 rows affected
avertissement. Bien que ce comportement ne soit pas techniquement une erreur, il est différent de la façon dont la situation est gérée par d'autres moteurs de base de données. Par exemple, Oracle effectue une mise à jour d'une seule ligne. Pour les bases de données SQL compatibles My, AWS DMS génère une entrée dans la table de contrôle awsdms_apply_exceptions et enregistre l'avertissement suivant.Some changes from the source database had no impact when applied to the target database. See awsdms_apply_exceptions table for details.
Aurora Serverless est disponible en tant que cible pour Amazon Aurora version 2, compatible avec My SQL version 5.7. (Sélectionnez Aurora My SQL version 2.07.1 pour pouvoir utiliser Aurora Serverless avec la compatibilité My SQL 5.7.) Pour plus d'informations sur Aurora Serverless, consultez la section Utilisation d'Aurora Serverless v2 dans le guide de l'utilisateur Amazon Aurora.
AWS DMS ne prend pas en charge l'utilisation d'un point de terminaison de lecture pour Aurora ou AmazonRDS, sauf si les instances sont en mode inscriptible, c'est-à-dire que
innodb_read_only
les paramètresread_only
et sont définis sur0
ouOFF
. Pour plus d'informations sur l'utilisation d'Amazon RDS et d'Aurora comme cibles, consultez les pages suivantes :
Paramètres du point de terminaison lors de l'utilisation d'une base de données SQL compatible My comme cible pour AWS DMS
Vous pouvez utiliser les paramètres du point de terminaison pour configurer votre base de données cible SQL compatible My, de la même manière que vous utilisiez des attributs de connexion supplémentaires. Vous spécifiez les paramètres lorsque vous créez le point de terminaison cible à l'aide de la AWS DMS console ou à l'aide de la create-endpoint
commande contenue dans le AWS CLI, avec la --my-sql-settings '{"
JSON syntaxe.EndpointSetting"
:
"value"
, ...
}'
Le tableau suivant indique les paramètres de point de terminaison que vous pouvez utiliser avec My SQL comme cible.
Name (Nom) | Description |
---|---|
|
Spécifie l'endroit où migrer des tables sources sur la cible, vers une seule base de données ou plusieurs bases de données. Si vous le spécifiez Valeur par défaut : Valeurs valides : { Exemple : |
|
Améliore les performances lors du chargement de données dans la base de données cible SQL compatible My. Spécifie le nombre de threads à utiliser pour charger les données dans la base de données cible SQL compatible My. La définition d'un grand nombre de threads peut avoir un impact négatif sur les performances de base de données, dans la mesure où une connexion distincte est requise pour chaque thread. Valeur par défaut : 1 Valeurs valides : 1 à 5 Exemple : |
|
Spécifie un script à exécuter immédiatement après la connexion de AWS DMS au point de terminaison. Par exemple, vous pouvez spécifier que la cible My SQL -compatible doit traduire les instructions reçues dans le jeu de caractères latin1, qui est le jeu de caractères compilé par défaut de la base de données. Ce paramètre améliore généralement les performances lors de la conversion à partir de UTF8 clients. Exemple : |
|
Spécifie la taille maximale (en Ko) de tout fichier .csv utilisé pour transférer des données vers une base de données SQL compatible My. Valeur par défaut : 32 768 Ko (32 Mo) Valeurs valides : 1 à 1 048 576
|
Vous pouvez également utiliser des attributs de connexion supplémentaires pour configurer votre base de données cible SQL compatible My.
Le tableau suivant indique les attributs de connexion supplémentaires que vous pouvez utiliser avec My SQL comme cible.
Name (Nom) | Description |
---|---|
|
Désactive les contrôles de clés étrangères. Exemple : |
|
Spécifie le fuseau horaire de la base de données SQL compatible My cible. Valeur par défaut : UTC Valeurs valides : noms de fuseaux horaires disponibles dans la base de SQL données Ma base de données cible. Exemple : |
Vous pouvez également utiliser le paramètre AfterConnectScript
de la commande --my-sql-settings
pour désactiver les contrôles de clés étrangères et spécifier le fuseau horaire de la base de données.
Types de données cibles pour My SQL
Le tableau suivant indique les types de SQL données cibles de Ma base de données qui sont pris en charge lors de l'utilisation AWS DMS et le mappage par défaut à partir AWS DMS des types de données.
Pour plus d'informations sur AWS DMS les types de données, consultezTypes de données pour AWS Database Migration Service.
AWS DMS types de données |
Mes types SQL de données |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
Si la longueur est comprise entre 1 et 65 535, utilisez VARBINARY (longueur). Si la longueur est comprise entre 65 536 et 2 147 483 647, utilisez. LONGLOB |
DATE |
DATE |
TIME |
TIME |
TIMESTAMP |
« Si l'échelle est => 0 et =< 6, alors : DATETIME (Échelle) Si l'échelle est => 7 et =< 9, alors : VARCHAR (37) » |
INT1 |
TINYINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
DECIMAL(p, s) |
REAL4 |
FLOAT |
REAL8 |
DOUBLE PRECISION |
STRING |
Si la longueur est comprise entre 1 et 21 845, utilisez VARCHAR (longueur). Si la longueur est comprise entre 21 846 et 2 147 483 647, utilisez. LONGTEXT |
UINT1 |
UNSIGNED TINYINT |
UINT2 |
UNSIGNED SMALLINT |
UINT4 |
UNSIGNED INTEGER |
UINT8 |
UNSIGNED BIGINT |
WSTRING |
Si la longueur est comprise entre 1 et 32 767, utilisez VARCHAR (longueur). Si la longueur est comprise entre 32 768 et 2 147 483 647, utilisez. LONGTEXT |
BLOB |
Si la longueur est comprise entre 1 et 65 535, utilisez. BLOB Si la longueur est comprise entre 65 536 et 2 147 483 647, utilisez. LONGBLOB Si la longueur est égale à 0, utilisez LONGBLOB (LOBsupport complet). |
NCLOB |
Si la longueur est comprise entre 1 et 65 535, utilisez. TEXT Si la longueur est comprise entre 65 536 et 2 147 483 647, utilisez-la avec ucs2 pour. LONGTEXT CHARACTER SET Si la longueur est égale à 0, utilisez LONGTEXT (LOBsupport complet) avec ucs2 pour CHARACTERSET. |
CLOB |
Si la longueur est comprise entre 1 et 65 535, utilisez. TEXT Si la longueur est comprise entre 65 536 et 2147483647, utilisez. LONGTEXT Si la longueur est égale à 0, utilisez LONGTEXT (LOBsupport complet). |