

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.

# Vergleich von Aurora-MySQL-Version 3 und MySQL 8.0 Community Edition
<a name="AuroraMySQL.Compare-80-v3"></a>

Sie können die folgenden Informationen verwenden, um mehr über die Änderungen zu erfahren, die Sie beachten müssen, wenn Sie von einem anderen MySQL 8.0-kompatiblen System zu Aurora-MySQL-Version 3 konvertieren.

 Im Allgemeinen unterstützt Aurora MySQL Version 3 den Feature-Set der Community MySQL 8.0.23. Einige neue Funktionen der MySQL 8.0 Community Edition gelten nicht für Aurora MySQL. Einige dieser Funktionen sind mit einigen Aurora-Aspekten, wie der Aurora-Speicherarchitektur, nicht kompatibel. Andere Funktionen sind nicht erforderlich, da der Amazon-RDS-Verwaltungsservice gleichwertige Funktionen bietet. Die folgenden Funktionen in der Community MySQL 8.0 werden in Aurora-MySQL-Version 3 nicht unterstützt oder funktionieren anders.

 Die Versionshinweise für alle Versionen von Aurora MySQL Version 3 finden Sie unter [Aktualisierungen der Datenbank-Engine für Amazon Aurora MySQL Version 3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.Updates.30Updates.html) in den *Versionshinweisen für Aurora MySQL*.

**Topics**
+ [MySQL-8.0-Funktionen sind in Aurora-MySQL-Version 3 nicht verfügbar](#AuroraMySQL.Compare-80-v3-features)
+ [Rollenbasiertes Berechtigungsmodell](#AuroraMySQL.privilege-model)
+ [Finden der Datenbankserver-ID](#AuroraMySQL.server-id)
+ [Authentifizierung](#AuroraMySQL.mysql80-authentication)

## MySQL-8.0-Funktionen sind in Aurora-MySQL-Version 3 nicht verfügbar
<a name="AuroraMySQL.Compare-80-v3-features"></a>

Die folgenden Funktionen der Community MySQL 8.0 sind in Aurora MySQL Version 3 nicht verfügbar oder funktionieren anders.
+ Ressourcengruppen und zugehörige SQL-Anweisungen werden in Aurora MySQL nicht unterstützt.
+ Aurora MySQL unterstützt keine benutzerdefinierten Undo-Tablespaces und die dazugehörigen SQL-Anweisungen wie `CREATE UNDO TABLESPACE`, `ALTER UNDO TABLESPACE ... SET INACTIVE` und `DROP UNDO TABLESPACE`.
+ Aurora MySQL unterstützt keine Undo-Tablespace-Kürzungen für Aurora-MySQL-Versionen unter 3.06. In Aurora-MySQL-Version 3.06 und höher werden [automatisierte Undo-Tablespace-Kürzungen](https://dev.mysql.com/doc/refman/8.0/en/innodb-undo-tablespaces.html#truncate-undo-tablespace) unterstützt.
+ Das Plugin für die Passwortvalidierung wird unterstützt.
+ Sie können die Einstellungen von MySQL-Plugins nicht ändern, einschließlich des Plugins für die Passwortvalidierung.
+ Das X-Plugin wird nicht unterstützt.
+ Multisource-Replikation wird nicht unterstützt.

## Rollenbasiertes Berechtigungsmodell
<a name="AuroraMySQL.privilege-model"></a>

Mit Aurora MySQL Version 3 können Sie die Tabellen im`mysql`-Datenbank direkt. Insbesondere können Sie Benutzer nicht einrichten, indem Sie in die`mysql.user`-Tabelle Stattdessen verwenden Sie SQL-Anweisungen, um rollenbasierte Berechtigungen zu gewähren. Sie können auch keine anderen Objekte wie gespeicherte Prozeduren in der `mysql`-Datenbank erstellen. Sie können immer noch die `mysql`-Tabellen abfragen. Wenn Sie die Binärprotokollreplikation verwenden, werden Änderungen direkt am`mysql`Tabellen im Quellcluster werden nicht auf den Zielcluster repliziert. 

 In einigen Fällen verwendet Ihre Anwendung möglicherweise Verknüpfungen, um Benutzer oder andere Objekte zu erstellen, indem Sie sie in die`mysql`-Tabellen Wenn ja, ändern Sie Ihren Anwendungscode, um die entsprechenden Anweisungen wie `CREATE USER` zu verwenden. Wenn Ihre Anwendung gespeicherte Prozeduren oder andere Objekte in der `mysql`-Datenbank erstellt, verwenden Sie stattdessen eine andere Datenbank. 

Um Metadaten für Datenbankbenutzer während der Migration aus einer externen MySQL-Datenbank zu exportieren, können Sie einen MySQL-Shell-Befehl anstelle von `mysqldump` verwenden. Weitere Informationen finden Sie unter [Dienstprogramme für Instance-, Schema- und Tabellen-Dumps](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html#mysql-shell-utilities-dump-about).

Um die Verwaltung von Berechtigungen für viele Benutzer oder Anwendungen zu vereinfachen, können Sie`CREATE ROLE`-Anweisung zum Erstellen einer Rolle mit einer Reihe von Berechtigungen. Dann können Sie die`GRANT`und`SET ROLE`-Anweisungen und die`current_role`Funktion, um Benutzern oder Anwendungen Rollen zuzuweisen, die aktuelle Rolle zu wechseln und zu überprüfen, welche Rollen in Kraft sind. Weitere Informationen zum rollenbasierten Berechtigungssystem in MySQL 8.0 finden Sie unter [Verwenden von Rollen](https://dev.mysql.com/doc/refman/8.0/en/roles.html) im MySQL-Referenzhandbuch.

**Wichtig**  
Wir empfehlen Ihnen, den Hauptbenutzer nicht direkt in Ihren Anwendungen zu verwenden. Bleiben Sie stattdessen bei der bewährten Methode, einen Datenbankbenutzer zu verwenden, der mit den Mindestberechtigungen erstellt wurde, die für Ihre Anwendung erforderlich sind.

**Topics**
+ [rds\$1superuser\$1role](#AuroraMySQL.privilege-model.rds_superuser_role)
+ [Benutzer zur Berechtigungsprüfung für die Replikation von Binärprotokollen](#AuroraMySQL.privilege-model.binlog)
+ [Rollen für den Zugriff auf andere AWS Dienste](#AuroraMySQL.privilege-model.other)

### rds\$1superuser\$1role
<a name="AuroraMySQL.privilege-model.rds_superuser_role"></a>

Aurora-MySQL-Version 3 enthält eine spezielle Rolle, die alle folgenden Berechtigungen besitzt. Der Name der Rolle lautet `rds_superuser_role`. Dem primären Administratorbenutzer für jeden Cluster wurde diese Rolle bereits gewährt. Die`rds_superuser_role`enthält die folgenden Berechtigungen für alle Datenbankobjekte:
+ `ALTER`
+ `APPLICATION_PASSWORD_ADMIN`
+ `ALTER ROUTINE`
+ `CONNECTION_ADMIN`
+ `CREATE`
+ `CREATE ROLE`
+ `CREATE ROUTINE`
+ `CREATE TEMPORARY TABLES`
+ `CREATE USER`
+ `CREATE VIEW`
+ `DELETE`
+ `DROP`
+ `DROP ROLE`
+ `EVENT`
+ `EXECUTE`
+ `FLUSH_OPTIMIZER_COSTS` (Aurora-MySQL-Version 3.09 und höher)
+ `FLUSH_STATUS` (Aurora-MySQL-Version 3.09 und höher)
+ `FLUSH_TABLES` (Aurora-MySQL-Version 3.09 und höher)
+ `FLUSH_USER_RESOURCES` (Aurora-MySQL-Version 3.09 und höher)
+ `INDEX`
+ `INSERT`
+ `LOCK TABLES`
+ `PROCESS`
+ `REFERENCES`
+ `RELOAD`
+ `REPLICATION CLIENT`
+ `REPLICATION SLAVE`
+ `ROLE_ADMIN`
+ `SET_USER_ID`
+ `SELECT`
+ `SHOW DATABASES`
+ `SHOW_ROUTINE` (Aurora-MySQL-Version 3.04 und höher)
+ `SHOW VIEW`
+ `TRIGGER`
+ `UPDATE`
+ `XA_RECOVER_ADMIN`

Die Rollendefinition umfasst auch`WITH GRANT OPTION`damit ein Administratorbenutzer diese Rolle anderen Benutzern gewähren kann. Insbesondere muss der Administrator alle Berechtigungen erteilen, die zur Durchführung der Binärprotokollreplikation mit dem Aurora MySQL-Cluster als Ziel erforderlich sind.

**Tipp**  
Um die vollständigen Details der Berechtigungen anzuzeigen, geben Sie die folgenden Anweisungen ein.  

```
SHOW GRANTS FOR rds_superuser_role@'%';
SHOW GRANTS FOR name_of_administrative_user_for_your_cluster@'%';
```

### Benutzer zur Berechtigungsprüfung für die Replikation von Binärprotokollen
<a name="AuroraMySQL.privilege-model.binlog"></a>

Aurora-MySQL-Version 3 enthält einen Benutzer zur Berechtigungsprüfung für die Replikation von Binärprotokollen (Binlog), `rdsrepladmin_priv_checks_user`. Zusätzlich zu den Berechtigungen einer `rds_superuser_role` verfügt dieser Benutzer über die `replication_applier`-Berechtigung.

Wenn Sie die Binlog-Replikation aktivieren, indem Sie die gespeicherte Prozedur `mysql.rds_start_replication` aufrufen, wird `rdsrepladmin_priv_checks_user` erstellt.

Der Benutzer `rdsrepladmin_priv_checks_user@localhost` ist ein reservierter Benutzer. Ändern Sie ihn nicht.

### Rollen für den Zugriff auf andere AWS Dienste
<a name="AuroraMySQL.privilege-model.other"></a>

Aurora MySQL Version 3 enthält Rollen, mit denen Sie auf andere AWS Dienste zugreifen können. Viele dieser Rollen lassen sich alternativ zur Vergabe von Berechtigungen festlegen. Sie geben beispielsweise`GRANT AWS_LAMBDA_ACCESS TO user`INSTEAD OF`GRANT INVOKE LAMBDA ON *.* TO user`aus. Die Verfahren für den Zugriff auf andere AWS Dienste finden Sie unter[Integration von Amazon Aurora MySQL mit anderen AWS Diensten](AuroraMySQL.Integrating.md). Aurora MySQL Version 3 umfasst die folgenden Rollen im Zusammenhang mit dem Zugriff auf andere AWS Dienste:
+ `AWS_LAMBDA_ACCESS` – Eine Alternative zur `INVOKE LAMBDA`-Berechtigung. Weitere Informationen zur Nutzung finden Sie unter [Aufrufen einer Lambda-Funktion aus einem Amazon Aurora MySQL-DB-Cluster](AuroraMySQL.Integrating.Lambda.md).
+ `AWS_LOAD_S3_ACCESS` – Eine Alternative zur `LOAD FROM S3`-Berechtigung. Weitere Informationen zur Nutzung finden Sie unter [Laden von Daten in einen Amazon Aurora MySQL-DB-Cluster aus Textdateien in einem Amazon S3-Bucket](AuroraMySQL.Integrating.LoadFromS3.md).
+ `AWS_SELECT_S3_ACCESS` – Eine Alternative zur `SELECT INTO S3`-Berechtigung. Weitere Informationen zur Nutzung finden Sie unter [Speichern von Daten aus einem Amazon Aurora MySQL-DB-Cluster in Textdateien in einem Amazon S3-Bucket](AuroraMySQL.Integrating.SaveIntoS3.md).
+ `AWS_COMPREHEND_ACCESS` – Eine Alternative zur `INVOKE COMPREHEND`-Berechtigung. Weitere Informationen zur Nutzung finden Sie unter [Erteilen des Zugriffs auf Aurora Machine Learning für Datenbankbenutzer](mysql-ml.md#aurora-ml-sql-privileges).
+ `AWS_SAGEMAKER_ACCESS` – Eine Alternative zur `INVOKE SAGEMAKER`-Berechtigung. Weitere Informationen zur Nutzung finden Sie unter [Erteilen des Zugriffs auf Aurora Machine Learning für Datenbankbenutzer](mysql-ml.md#aurora-ml-sql-privileges).
+ `AWS_BEDROCK_ACCESS` – Es gibt keine entsprechende `INVOKE`-Berechtigung für Amazon Bedrock. Weitere Informationen zur Nutzung finden Sie unter [Erteilen des Zugriffs auf Aurora Machine Learning für Datenbankbenutzer](mysql-ml.md#aurora-ml-sql-privileges).

Wenn Sie Zugriff mithilfe von Rollen in Aurora MySQL Version 3 gewähren, aktivieren Sie die Rolle auch mithilfe der`SET ROLE role_name`oder`SET ROLE ALL`statement. Im folgenden Beispiel wird gezeigt, wie dies geschieht. Ersetzen Sie den entsprechenden Rollennamen für `AWS_SELECT_S3_ACCESS`.

```
# Grant role to user.

mysql> GRANT AWS_SELECT_S3_ACCESS TO 'user'@'domain-or-ip-address'

# Check the current roles for your user. In this case, the AWS_SELECT_S3_ACCESS role has not been activated.
# Only the rds_superuser_role is currently in effect.
mysql> SELECT CURRENT_ROLE();
+--------------------------+
| CURRENT_ROLE()           |
+--------------------------+
| `rds_superuser_role`@`%` |
+--------------------------+
1 row in set (0.00 sec)

# Activate all roles associated with this user using SET ROLE.
# You can activate specific roles or all roles.
# In this case, the user only has 2 roles, so we specify ALL.
mysql> SET ROLE ALL;
Query OK, 0 rows affected (0.00 sec)

# Verify role is now active
mysql> SELECT CURRENT_ROLE();
+-----------------------------------------------------+
| CURRENT_ROLE()                                      |
+-----------------------------------------------------+
| `AWS_SELECT_S3_ACCESS`@`%`,`rds_superuser_role`@`%` |
+-----------------------------------------------------+
```

## Finden der Datenbankserver-ID
<a name="AuroraMySQL.server-id"></a>

Die Datenbankserver-ID (`server_id`) ist für die Replikation von Binärprotokollen (Binlog) erforderlich. Die Methode, die Server-ID zu finden, unterscheidet sich in Aurora MySQL von Community MySQL.

In Community MySQL ist die Server-ID eine Zahl, die Sie mithilfe der folgenden Syntax erhalten, während Sie beim Server angemeldet sind:

```
mysql> select @@server_id;

+-------------+
| @@server_id |
+-------------+
| 2           |
+-------------+
1 row in set (0.00 sec)
```

In Aurora MySQL ist die Server-ID die DB-Instance-ID, die Sie mithilfe der folgenden Syntax erhalten, während Sie bei der DB-Instance angemeldet sind:

```
mysql> select @@aurora_server_id;

+------------------------+
| @@aurora_server_id     |
+------------------------+
| mydbcluster-instance-2 |
+------------------------+
1 row in set (0.00 sec)
```

Weitere Informationen zur Binlog-Replikation finden Sie unter [Replizieren zwischen Aurora und MySQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation)](AuroraMySQL.Replication.MySQL.md).

## Authentifizierung
<a name="AuroraMySQL.mysql80-authentication"></a>

In Community MySQL 8.0 ist das Standard-Authentifizierungs-Plugin `caching_sha2_password`. Aurora MySQL Version 3 verwendet immer noch`mysql_native_password`-Plugin. Sie können die `default_authentication_plugin`-Einstellung nicht ändern. Sie können jedoch neue Benutzer erstellen und aktuelle Benutzer sowie deren individuelle Passwörter ändern, indem Sie das neue Authentifizierungs-Plugin verwenden. Im Folgenden sehen Sie ein Beispiel.

```
mysql> CREATE USER 'testnewsha'@'%' IDENTIFIED WITH caching_sha2_password BY 'aNewShaPassword';
Query OK, 0 rows affected (0.74 sec)
```