

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwendung einer MySQL-kompatiblen Datenbank als Ziel für AWS Database Migration Service
<a name="CHAP_Target.MySQL"></a>

Sie können Daten mit AWS DMS jeder der unterstützten Quell-Daten-Engines in jede MySQL-kompatible Datenbank migrieren. AWS DMS Wenn Sie zu einer lokalen MySQL-kompatiblen Datenbank migrieren, AWS DMS muss sich Ihre Quell-Engine innerhalb des Ökosystems befinden. AWS Die Engine kann sich in einem AWS verwalteten Service wie Amazon RDS, Amazon Aurora oder Amazon S3 befinden. Alternativ kann sich die Engine in einer selbstverwalteten Datenbank auf Amazon EC2 befinden. 

Sie können mit SSL Verbindungen zwischen Ihrem MySQL-kompatiblen Endpunkt und der Replikations-Instance verschlüsseln. Weitere Informationen zur Verwendung von SSL mit einem MySQL-kompatiblen Endpunkt finden Sie unter [Verwenden von SSL mit AWS Database Migration Service](CHAP_Security.SSL.md). 

Hinweise zu Versionen von MySQL, die als Ziel AWS DMS unterstützen, finden Sie unter[Ziele für AWS DMS](CHAP_Introduction.Targets.md).

Sie können die folgenden MySQL-kompatiblen Datenbanken als Ziele verwenden für: AWS DMS
+ MySQL Community Edition
+ MySQL Standard Edition
+ MySQL Enterprise Edition
+ MySQL Cluster Carrier Grade Edition
+ MariaDB Community Edition
+ MariaDB Enterprise Edition
+ MariaDB Column Store
+ Amazon Aurora MySQL

**Anmerkung**  
Unabhängig von der Quell-Speicher-Engine (MyISAM, MEMORY usw.) erstellt AWS DMS eine MySQL-kompatible Zieltabelle standardmäßig als InnoDB-Tabelle.   
Wenn Sie eine Tabelle benötigen, die eine andere Speicher-Engine als InnoDB verwendet, können Sie die Tabelle in der MySQL-kompatiblen Zieldatenbank manuell erstellen und die Tabelle mithilfe des Modus **Nichts unternehmen** migrieren. Weitere Informationen finden Sie unter [Aufgabeneinstellungen für vollständiges Laden](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md).

Weitere Details zum Arbeiten mit einer MySQL-kompatiblen Datenbank als Ziel für AWS DMS finden Sie in den folgenden Abschnitten. 

**Topics**
+ [Verwendung einer beliebigen MySQL-kompatiblen Datenbank als Ziel für AWS Database Migration Service](#CHAP_Target.MySQL.Prerequisites)
+ [Einschränkungen bei der Verwendung einer MySQL-kompatiblen Datenbank als Ziel für AWS Database Migration Service](#CHAP_Target.MySQL.Limitations)
+ [Endpunkteinstellungen bei Verwendung einer MySQL-kompatiblen Datenbank als Ziel für AWS DMS](#CHAP_Target.MySQL.ConnectionAttrib)
+ [Zieldatentypen für MySQL](#CHAP_Target.MySQL.DataTypes)

## Verwendung einer beliebigen MySQL-kompatiblen Datenbank als Ziel für AWS Database Migration Service
<a name="CHAP_Target.MySQL.Prerequisites"></a>

Bevor Sie mit einer MySQL-kompatiblen Datenbank als Ziel für AWS DMS arbeiten, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:
+ Geben Sie ein Benutzerkonto an AWS DMS , das über read/write Rechte für die MySQL-kompatible Datenbank verfügt. Führen Sie die folgenden Befehle aus, um die erforderlichen Berechtigungen zu erstellen.

  ```
  CREATE USER '<user acct>'@'%' IDENTIFIED BY '<user password>';
  GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT, CREATE TEMPORARY TABLES  ON <schema>.* TO 
  '<user acct>'@'%';
  GRANT ALL PRIVILEGES ON awsdms_control.* TO '<user acct>'@'%';
  ```
+ Während der Volllast-Migrationsphase müssen Sie Fremdschlüssel in Ihren Zieltabellen deaktivieren. Um Fremdschlüsselprüfungen in einer MySQL-kompatiblen Datenbank während eines vollen Ladevorgangs zu deaktivieren, können Sie den folgenden Befehl zum Abschnitt **Zusätzliche Verbindungsattribute** der AWS DMS Konsole für Ihren Zielendpunkt hinzufügen.

  ```
  Initstmt=SET FOREIGN_KEY_CHECKS=0;
  ```
+ Legen Sie den Datenbankparameter `local_infile = 1` fest, um AWS DMS das Laden von Daten in die Zieldatenbank zu ermöglichen.
+ Erteilen Sie die folgenden Berechtigungen, wenn Sie MySQL-spezifische Bewertungen vor der Migration verwenden.

  ```
  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
  ```

## Einschränkungen bei der Verwendung einer MySQL-kompatiblen Datenbank als Ziel für AWS Database Migration Service
<a name="CHAP_Target.MySQL.Limitations"></a>

Wenn Sie eine MySQL-Datenbank als Ziel verwenden, unterstützt Folgendes AWS DMS nicht:
+ Die DDL-Anweisungen (Data Definition Language) TRUNCATE PARTITION, DROP TABLE und RENAME TABLE.
+ Verwenden einer `ALTER TABLE table_name ADD COLUMN column_name`-Anweisung zum Hinzufügen von Spalten an den Anfang oder in die Mitte einer Tabelle
+ Beim Laden von Daten in ein MySQL-kompatibles Ziel in einer Vollladeaufgabe werden AWS DMS keine Fehler gemeldet, die durch Einschränkungen in den Task-Logs verursacht werden, was zu doppelten Schlüsselfehlern oder Nichtübereinstimmungen mit der Anzahl der Datensätze führen kann. Dies ist auf die Art und Weise zurückzuführen, wie MySQL lokale Daten mit dem Befehl `LOAD DATA` behandelt. Während der Volllastphase müssen Sie folgende Schritte ausführen: 
  + Einschränkungen deaktivieren
  + Stellen Sie mithilfe der AWS DMS Validierung sicher, dass die Daten konsistent sind.
+ Wenn Sie den Wert einer Spalte auf den vorhandenen Wert aktualisieren, geben MySQL-kompatible Datenbanken die Warnung `0 rows affected` zurück. Obwohl dieses Verhalten technisch gesehen kein Fehler ist, unterscheidet es sich von der Art und Weise, wie andere Datenbank-Engines mit solchen Fällen umgehen. Oracle führt beispielsweise eine Aktualisierung einer Zeile durch. AWS DMS Generiert für MySQL-kompatible Datenbanken einen Eintrag in der Steuertabelle awsdms\$1apply\$1exceptions und protokolliert die folgende Warnung.

  ```
  Some changes from the source database had no impact when applied to
  the target database. See awsdms_apply_exceptions table for details.
  ```
+ Aurora Serverless ist als Ziel für Amazon Aurora Version 2, kompatibel mit MySQL Version 5.7, verfügbar. (Wählen Sie Aurora-MySQL-Version 2.07.1 aus, um Aurora Serverless mit MySQL-5.7-Kompatibilität verwenden zu können.) Weitere Informationen zu Aurora Serverless finden Sie unter [Using Aurora Serverless v2](https://docs.aws.amazon.com//AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html) im *Amazon Aurora Aurora-Benutzerhandbuch*.
+ AWS DMS unterstützt nicht die Verwendung eines Reader-Endpunkts für Aurora oder Amazon RDS, es sei denn, die Instances befinden sich im Schreibmodus, d. h. die `innodb_read_only` Parameter `read_only` und sind auf `0` oder `OFF` gesetzt. Weitere Informationen zur Verwendung von Amazon RDS und Aurora als Ziele finden Sie in folgenden Themen:
  +  [ Feststellen, mit welcher DB-Instance Sie verbunden sind](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.BestPractices.html#AuroraMySQL.BestPractices.DeterminePrimaryInstanceConnection) 
  +  [ Aktualisieren von Lesereplikaten mit MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.ReadReplicas.html#USER_MySQL.Replication.ReadReplicas.Updates) 
+ Bei der Replikation des TIME-Datentyps wird der Bruchteil des Zeitwerts nicht repliziert.
+ Bei der Replikation des TIME-Datentyps mit dem zusätzlichen Verbindungsattribut ist der Zeitwert auf den Bereich `loadUsingCSV=false` begrenzt. `[00:00:00, 23:59:59]`

## Endpunkteinstellungen bei Verwendung einer MySQL-kompatiblen Datenbank als Ziel für AWS DMS
<a name="CHAP_Target.MySQL.ConnectionAttrib"></a>

Sie können Endpunkteinstellungen zum Konfigurieren Ihrer MySQL-kompatiblen Zieldatenbank verwenden, ähnlich wie Sie zusätzliche Verbindungsattribute verwenden. Sie geben die Einstellungen an, wenn Sie den Zielendpunkt mithilfe der AWS DMS Konsole oder mithilfe des `create-endpoint` Befehls in [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html), mit der `--my-sql-settings '{"EndpointSetting": "value", ...}'` JSON-Syntax erstellen.

Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit MySQL als Ziel verwenden können.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Target.MySQL.html)

Sie können auch zusätzliche Verbindungsattribute verwenden, um Ihre MySQL-kompatible Zieldatenbank zu konfigurieren.

Die folgende Tabelle zeigt die zusätzlichen Verbindungsattribute, die Sie verwenden können, wenn MySQL das Ziel ist.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/dms/latest/userguide/CHAP_Target.MySQL.html)

Alternativ können Sie den Parameter `AfterConnectScript` des Befehls `--my-sql-settings` verwenden, um Fremdschlüsselprüfungen zu deaktivieren und die Zeitzone für Ihre Datenbank anzugeben.

## Zieldatentypen für MySQL
<a name="CHAP_Target.MySQL.DataTypes"></a>

Die folgende Tabelle zeigt die Zieldatentypen der MySQL-Datenbank, die bei der Verwendung unterstützt werden, AWS DMS und die Standardzuweisung von AWS DMS Datentypen.

Weitere Hinweise zu AWS DMS Datentypen finden Sie unter[Datentypen für den AWS Database Migration Service](CHAP_Reference.DataTypes.md).


|  AWS DMS Datentypen  |  MySQL-Datentypen  | 
| --- | --- | 
|  BOOLEAN  |  BOOLEAN  | 
|  BYTES  |  Ist die Länge 1 bis 65.535, verwenden Sie VARBINARY (Länge).  Ist die Länge 65.536 bis 2.147.483.647, verwenden Sie LONGLOB.  | 
|  DATE  |  DATE  | 
|  TIME  |  TIME  | 
|  TIMESTAMP (ZEITSTEMPEL)  |  Ist die Skalierung => 0 und =< 6, dann: DATETIME (Skalierung) Ist die Skalierung => 7 und =< 9, dann: VARCHAR (37)  | 
|  INT1  |  TINYINT  | 
|  INT2  |  SMALLINT  | 
|  INT4  |  INTEGER  | 
|  INT8  |  BIGINT  | 
|  NUMERIC  |  DECIMAL (p,s)  | 
|  REAL4  |  FLOAT  | 
|  REAL8  |  DOUBLE PRECISION  | 
|  STRING  |  Ist die Länge 1 bis 21.845, verwenden Sie VARCHAR (Länge). Ist die Länge 21.846 bis 2.147.483.647, verwenden Sie LONGTEXT.  | 
|  UINT1  |  UNSIGNED TINYINT  | 
|  UINT2  |  UNSIGNED SMALLINT  | 
|  UINT4  |  UNSIGNED INTEGER  | 
|  UINT8  |  UNSIGNED BIGINT  | 
|  WSTRING  |  Ist die Länge 1 bis 32.767, verwenden Sie VARCHAR (Länge).  Ist die Länge 32.768 bis 2.147.483.647, verwenden Sie LONGTEXT.  | 
|  BLOB  |  Ist die Länge 1 bis 65.535, verwenden Sie BLOB. Ist die Länge 65.536 bis 2.147.483.647, verwenden Sie LONGBLOB. Ist die Länge 0, verwenden Sie LONGBLOB (vollständige LOB-Unterstützung).  | 
|  NCLOB  |  Ist die Länge 1 bis 65.535, verwenden Sie TEXT. Ist die Länge 65.536 bis 2.147.483.647, verwenden Sie LONGTEXT mit ucs2 für CHARACTER SET. Ist die Länge 0, verwenden Sie LONGTEXT (vollständige LOB-Unterstützung) mit ucs2 für CHARACTER SET.  | 
|  CLOB  |  Ist die Länge 1 bis 65.535, verwenden Sie TEXT. Ist die Länge 65.536 bis 2.147.483.647, verwenden Sie LONGTEXT. Ist die Länge 0, verwenden Sie LONGTEXT (vollständige LOB-Unterstützung).  | 