Unterstützung von MySQL-Funktionen in Amazon RDS - Amazon Relational Database Service

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.

Unterstützung von MySQL-Funktionen in Amazon RDS

RDS für MySQL unterstützt die meisten Funktionen von MySQL. Einige Funktionen werden möglicherweise nur begrenzt unterstützt oder haben eingeschränkte Berechtigungen.

Sie können neue Amazon RDS Funktionen auf der Was ist neu mit Datenbank?-Seite filtern. Wählen Sie für den Filter Produkte Amazon RDS aus. Suchen Sie dann mit Schlüsselwörtern wie MySQL 2022.

Anmerkung

Die folgenden Listen sind nicht vollständig.

Unterstützung von MySQL-Funktionen für die Hauptversionen von Amazon RDS für MySQL

Den folgenden Abschnitten können Sie Informationen zur Unterstützung von MySQL-Funktionen für die Hauptversionen von Amazon RDS für MySQL entnehmen:

Informationen zu den unterstützten Nebenversionen von Amazon RDS für MySQL finden Sie unter Unterstützte MySQL-Nebenversionen in Amazon RDS.

Unterstützung von MySQL 8.4 in Amazon RDS

Amazon RDS unterstützt die folgenden neuen Funktionen für DB-Instances, auf denen MySQL 8.4 oder höher ausgeführt wird.

  • Kryptografische Bibliothek: In RDS für MySQL wurde OpenSSL durch AWS Libcrypto (AWS-LC) ersetzt, das gemäß FIPS 140-3 zertifiziert ist. Weitere Informationen finden Sie im AWS-LC-GitHub-Repository auf https://github.com/aws/aws-lc.

  • TLS Änderungen: RDS für MySQL unterstützt nur TLS 1.2 und TLS 1.3. Weitere Informationen finden Sie unter SSL/TLS-Unterstützung für MySQL-DB-Instances in Amazon RDS.

  • Memcached-Unterstützung: Die Memcached-Benutzeroberfläche ist in MySQL 8.4 nicht mehr verfügbar. Weitere Informationen finden Sie unter Unterstützung für MySQL-memcached.

  • Standard-Authentifizierungs-Plugin: Das Standard-Authentifizierungs-Plugin ist caching_sha2_password. Weitere Informationen finden Sie unter Standardauthentifizierungs-Plugin für MySQL.

  • Client-Dienstprogramm mysqlpump: Das Client-Dienstprogramm mysqlpump ist in MySQL 8.4 nicht mehr verfügbar. Weitere Informationen finden Sie unter Rollenbasiertes Berechtigungsmodell für RDS für MySQL und mysqldump und mysqlpump in der AWS Prescriptive Guidance.

  • Gespeicherte Prozeduren für verwaltete Replikation: Wenn Sie gespeicherte Prozeduren verwenden, um die Replikation mit einem mit caching_sha2_password konfigurierten Replikationsbenutzer zu verwalten, müssen Sie TLS konfigurieren, indem Sie SOURCE_SSL=1 festlegen. caching_sha2_password ist das Standard-Authentifizierungs-Plugin für RDS für MySQL 8.4.

  • Änderungen des Parameterverhaltens: Die folgenden Parameter wurden für MySQL 8.4 geändert.

  • Veraltete oder entfernte Parameter: Die folgenden Parameter der Parametergruppen für DB-Instances von MySQL 8.4 wurden in RDS für MySQL entfernt. Der Parameter innodb_redo_log_capacity steuert nun die Größe der Redo-Protokolldateien.

    • innodb_log_file_size

    • innodb_log_files_in_group

  • Neue Standardwerte für Parameter: Die folgenden Parameter haben neue Standardwerte für DB-Instances von MySQL 8.4:

    • Verschiedene leistungsbezogene Parameter der MySQL-Community wurden geändert. Weitere Informationen finden Sie unter Neue Funktionen in MySQL 8.4 ab MySQL 8.0.

      Wir empfehlen Ihnen, die Leistung Ihrer Anwendung in RDS für MySQL 8.4 zu testen, bevor Sie eine Produktions-Instance migrieren.

    • innodb_purge_threads: Der Standardwert ist auf die Formel LEAST({DBInstanceVCPU/2},4) festgelegt, um zu verhindern, dass die Länge der InnoDB-Verlaufsliste zu umfangreich wird.

    • group_replication_exit_state_action: Der Standardwert ist OFFLINE_MODE, was dem Standardwert in der MySQL-Community entspricht. Weitere Informationen finden Sie unter Überlegungen und bewährte Methoden für Aktiv/Aktiv-Cluster von RDS für MySQL.

    • binlog_format: Der Standardwert ist ROW, was dem Standardwert in der MySQL-Community entspricht. Sie können den Parameter für Single-AZ-DB-Instances oder Multi-AZ-DB-Instances ändern, jedoch nicht für Multi-AZ-DB-Cluster. Multi-AZ-DB-Cluster verwenden eine halbsynchrone Replikation und wenn binlog_format auf MIXED oder STATEMENT festgelegt ist, schlägt die Replikation fehl.

  • Inklusive Sprachänderungen: RDS für MySQL 8.4 enthält Änderungen von RDS für MySQL 8.0 in Bezug auf Schlüsselwörter und Systemschemas für inklusive Sprache. Weitere Informationen finden Sie unter Inklusive Sprachänderungen für RDS für MySQL 8.4.

Eine Liste aller Funktionen und Änderungen in MySQL 8.4 finden Sie unter Neue Funktionen in MySQL 8.4 ab MySQL 8.0 in der MySQL-Dokumentation.

Eine Liste der nicht unterstützten Funktionen finden Sie unter MySQL-Funktionen, die nicht von Amazon RDS unterstützt werden.

Unterstützte Speicher-Engines für RDS für MySQL

Während MySQL mehrere Speicher-Engines mit unterschiedlichen Fähigkeiten unterstützt, sind nicht alle von ihnen für die Wiederherstellung und Langlebigkeit von Daten optimiert. Amazon RDS unterstützt die InnoDB-Speicher-Engine für MySQL-DB-Instances vollständig. Amazon-RDS-Funktionen wie Point-In-Time-Wiederherstellung und Snapshot-Wiederherstellung erfordern eine wiederherstellbare Speicher-Engine und werden nur für die InnoDB-Speicher-Engine unterstützt. Weitere Informationen finden Sie unter Unterstützung für MySQL-memcached.

Die verbündete Speicher-Engine wird aktuell von Amazon RDS für MySQL nicht unterstützt.

Für von Benutzern erstellten Schemas unterstützt die MyISAM-Speicher-Engine keine verlässliche Wiederherstellung, was zu Datenverlust oder -schädigung führen kann, wenn MySQL nach einer Wiederherstellung neugestartet wird, wodurch die zeitpunktbezogene Wiederherstellung und die Snapshot-Wiederherstellung nicht ordnungsgemäß funktionieren könnten. Wenn Sie trotzdem MyISAM mit Amazon-RDS-Snapshots verwenden möchten, kann dies unter Umständen hilfreich sein.

Anmerkung

Systemtabellen im mysql-Schema können sich im MyISAM-Speicher befinden.

Wenn Sie vorhandene MyISAM-Tabellen in InnoDB-Tabellen konvertieren möchten, können Sie den Befehl ALTER TABLE verwenden (z. B. alter table TABLE_NAME engine=innodb;). Vergessen Sie nicht, dass MyISAM und InnoDB verschiedene Stärken und Schwächen haben, also sollten Sie eine vollständige Bewertung der Auswirkungen vornehmen, bevor Sie Ihre Anwendungen umstellen.

MySQL 5.1, 5.5 und 5.6 werden in Amazon RDS nicht mehr unterstützt. Sie können jedoch bestehende MySQL 5.1-, 5.5- und 5.6-Snapshots bei Bedarf wiederherstellen. Wenn Sie einen MySQL-5.1-, 5.5- oder 5.6-Snapshot wiederherstellen, wird die DB-Instance automatisch auf MySQL 5.7 aktualisiert.

Verwenden von memcached und anderen Optionen mit MySQL in Amazon RDS

Die meisten Amazon-RDS-DB-Engines unterstützen Optionsgruppen, die Ihnen ermöglichen, zusätzliche Funktionen für Ihre DB-Instance auszuwählen. DB-Instances von RDS für MySQL unterstützen die Option memcached, einen einfachen schlüsselbasierten Cache. Weitere Informationen über memcached und andere Optionen finden Sie unter Optionen für MySQL-DB-Instances. Weitere Informationen über das Arbeiten mit Optionsgruppen finden Sie unter Arbeiten mit Optionsgruppen.

InnoDB-Cache-Warming für MySQL in Amazon RDS

Die InnoDB-Cache-Warnung kann zu Leistungssteigerungen Ihrer MySQL-DB-Instance führen, indem der aktuelle Zustand des Bufferpools gespeichert wird, wenn die DB-Instance heruntergefahren wird, und beim Hochfahren der DB-Instance der Bufferpool erneut aus den gespeicherten Informationen geladen wird. Dies überbrückt die ansonsten notwendige "Aufwärmphase" des Bufferpools bei normaler Verwendung von Datenbanken und lädt den Bufferpool vorab mit den Seiten für bereits bekannte Anfragen. Die Datei, die den gespeicherten Bufferpool abspeichert, speichert nur Metadaten für die Seite ab, die sich in dem Bufferpool befinden, nicht die Seiten selbst. Dadurch benötigt die Datei nur wenig Speicherplatz. Die Dateigröße beträgt nur 0,2 % der Cachegröße. So beträgt beispielsweise bei einem 64 GiB großen Cache die Größe der Cache-Initialisierungsdatei 128 MiB. Weitere Informationen zur InnoDB-Cache-Initialisierung finden Sie unter Saving and Restoring the Buffer Pool State in der MySQL-Dokumentation.

DB-Instances von RDS für MySQL unterstützen InnoDB-Cache-Warming. Um InnoDB-Cache-Initialisierung zu aktivieren, setzen Sie die Parameter innodb_buffer_pool_dump_at_shutdown und innodb_buffer_pool_load_at_startup in der Parametergruppe für Ihre DB-Instance auf 1. Die Änderung dieser Parameterwerte in einer Parametergruppe wirkt sich auf alle MySQL-DB-Instances aus, die diese Parametergruppe verwenden. Sie müssen möglicherweise eine neue Parametergruppe für diese Instances erstellen, um InnoDB-Cache-Initialisierung für bestimmte MySQL-DB-Instances zu aktivieren. Weitere Informationen zu Parametergruppen finden Sie unter Parametergruppen für Amazon RDS.

InnoDB-Cache-Initialisierung bringt vor allem einen Leistungsvorteil für DB-Instances, die den Standardspeicher verwenden. Wenn Sie PIOPS-Speicher verwenden, findet in der Regel keine signifikante Leistungssteigerung statt.

Wichtig

Wenn Ihre MySQL-DB-Instance nicht ordnungsgemäß herunterfährt, wie beispielsweise während eines Failovers, dann wird der Bufferpool nicht auf der Festplatte gespeichert. In diesem Fall lädt MySQL eine verfügbare Bufferpool-Datei, wenn die DB-Instance neu gestartet wurde. Das ist nicht schlimm, aber der wiederhergestellte Zwischenspeicher-Pool spiegelt möglicherweise nicht den aktuellsten Stand des Zwischenspeicher-Pools vor dem Neustart dar. Wir empfehlen Ihnen, Ihren Bufferpool in regelmäßigen Abschnitten in Ihrem Interesse zu verwerfen, um sicherzustellen, dass Sie immer den aktuellsten Zustand in Ihrem Bufferpool für die Initialisierung des Cache beim Starten von InnoDB haben.

Sie können ein Ereignis erstellen, das den Bufferpool in regelmäßigen Abständen automatisch verwirft. Beispielsweise erstellt das folgende Statement ein Ereignis mit dem Namen periodic_buffer_pool_dump, das den Bufferpool stündlich verwirft.

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

Weitere Informationen zu MySQL-Ereignissen finden Sie unter Event Syntax in der MySQL-Dokumentation.

Entladen und Laden des Zwischenspeicher-Pools auf Abruf

Sie können den InnoDB-Cache „nach Bedarf“ speichern und laden.

Inklusive Sprachänderungen für RDS für MySQL 8.4

RDS für MySQL 8.4 enthält Änderungen von MySQL 8.4 in Bezug auf Schlüsselwörter und Systemschemas für inklusive Sprache. Beispielsweise wird der Befehl SHOW REPLICA STATUS durch SHOW SLAVE STATUS ersetzt.

Änderungen des Namens von Konfigurationsparametern

Die folgenden Konfigurationsparameter haben neue Namen in RDS für MySQL 8.4.

Aus Kompatibilitätsgründen können Sie die Parameternamen im Client mysql unter Verwendung eines der beiden Namen überprüfen. Beim Ändern der Werte in einer benutzerdefinierten MySQL 8.4-Parametergruppe können Sie nur die neuen Namen verwenden. Weitere Informationen finden Sie unter Standard- und benutzerdefinierte Parametergruppen.

Name, der entfernt werden soll Neuer oder bevorzugter Name

init_slave

init_replica

log_slave_updates

log_replica_updates

log_slow_slave_statements

log_slow_replica_statements

rpl_stop_slave_timeout

rpl_stop_replica_timeout

skip_slave_start

skip_replica_start

slave_checkpoint_group

replica_checkpoint_group

slave_checkpoint_period

replica_checkpoint_period

slave_compressed_protocol

replica_compressed_protocol

slave_exec_mode

replica_exec_mode

slave_load_tmpdir

replica_load_tmpdir

slave_max_allowed_packet

replica_max_allowed_packet

slave_net_timeout

replica_net_timeout

slave_parallel_type

replica_parallel_type

slave_parallel_workers

replica_parallel_workers

slave_pending_jobs_size_max

replica_pending_jobs_size_max

slave_preserve_commit_order

replica_preserve_commit_order

slave_skip_errors

replica_skip_errors

slave_sql_verify_checksum

replica_sql_verify_checksum

slave_transaction_retries

replica_transaction_retries

slave_type_conversions

replica_type_conversions

sql_slave_skip_counter

sql_replica_skip_counter

Anmerkung

Der Parameter replica_allow_batching ist nicht verfügbar, da Amazon RDS keine NDB-Cluster unterstützt.

Änderungen des Namens von gespeicherten Prozeduren

Die folgenden gespeicherten Prozeduren haben neue Namen in RDS für MySQL 8.4.

Aus Kompatibilitätsgründen können Sie beide Namen in der ersten Version von RDS für MySQL 8.4 verwenden. Die alten Prozedurnamen sollen in einer zukünftigen Version entfernt werden. Weitere Informationen finden Sie unter Konfigurieren, Starten und Beenden der Binärprotokollreplikation (binlog).

Name, der entfernt werden soll Neuer oder bevorzugter Name

mysql.rds_next_master_log

mysql.rds_next_source_log

mysql.rds_reset_external_master

mysql.rds_reset_external_source

mysql.rds_set_external_master

mysql.rds_set_external_source

mysql.rds_set_external_master_with_auto_position

mysql.rds_set_external_source_with_auto_position

mysql.rds_set_external_master_with_delay

mysql.rds_set_external_source_with_delay

mysql.rds_set_master_auto_position

mysql.rds_set_source_auto_position

MySQL-Funktionen, die nicht von Amazon RDS unterstützt werden

Amazon RDS bietet zurzeit keine Unterstützung für die folgenden MySQL-Funktionen:

  • Authentifizierungs-Plugin

  • Fehlerprotokollierung im Systemprotokoll

  • InnoDB-Tablespace-Verschlüsselung

  • NDB-Cluster

  • Passwortstärke-Plugin

  • Persistente Systemvariablen

  • Plugin für das Umschreiben von Abfragen

  • Semi-synchrone Replikation, außer für Multi-AZ-DB-Cluster

  • Transportierbarer Tablespace

  • X-Plugin

Um eine verwaltete Service-Erfahrung zu bieten, ermöglicht Amazon RDS keinen Shell-Zugriff auf DB-Instances. Eingeschränkt wird auch der Zugriff auf bestimmte Systemprozeduren und Tabellen, für die erweiterte Berechtigungen erforderlich sind. Amazon RDS unterstützt den Zugriff auf Datenbanken in einer DB-Instance mit jeder beliebigen Standard-SQL-Client-Anwendung. Amazon RDS erlaubt keinen direkten Hostzugriff auf eine DB-Instance über Telnet, Secure Shell (SSH) oder Windows Remote Desktop Connection. Wenn Sie eine DB-Instance erstellen, wird Ihnen die Rolle db_owner für alle Datenbanken in dieser Instance zugewiesen und Sie verfügen über die Berechtigungen für alle Datenbankebenen, außer für jene, die für Backups verwendet werden. Amazon RDS verwaltet Backups für Sie.