MySQL in Amazon RDS - Amazon Relational Database Service

MySQL in Amazon RDS

Amazon RDS unterstützt DB-Instance für mehrere Versionen und Editionen von MySQL-Datenbank. Sie können die folgenden Major-Versionen verwenden:

  • MySQL 8.0

  • MySQL 5.7

  • MySQL 5.6 (Deprecation geplant für 1. Februar 2022)

Weitere Informationen über den Support für Minor-Versionen finden Sie unter MySQL in Amazon RDS-Versionen.

Sie verwenden zuerst die Amazon RDS Management-Tools oder Schnittstellen, um eine Amazon RDS für MySQL DB-Instance zu erstellen. Anschließend können Sie die Größe der DB-Instance anpassen, Verbindungen zur DB-Instance autorisieren, Sicherungen oder Snapshots erstellen und mit deren Hilfe Wiederherstellungen durchführen, sekundäre Multi-AZs erstellen, Lesereplikate erstellen und die Leistung Ihrer DB-Instance überwachen. Sie verwenden Standard-MySQL-Hilfsprogramme und Anwendungen, um Daten in der DB-Instance zu speichern und darauf zuzugreifen.

Amazon RDS für MySQL ist konform zu vielen Industriestandards. Sie können beispielsweise RDS-for-MySQL-Datenbanken verwenden, um HIPAA-konforme Anwendungen zu erstellen und Gesundheitsdaten einschließlich geschützter Gesundheitsdaten (Protected Health Information, PHI) entsprechend einem mit AWS abgeschlossenen Business Associate Agreement (BAA) zu speichern. Amazon RDS for MySQL erfüllt die Anforderungen des Federal Risk and Authorization Management Program (FedRAMP, Bundestaatliches Programm für Risiko- und Autorisierungsverwaltung) und hat ein FedRAMP Joint Authorization Board (JAB) Provisional Authority to Operate (P-ATO) bei der FedRAMP Moderate Baseline in AWS GovCloud (US) -Regionen erhalten. Weitere Informationen über unterstützte Compliance-Standards finden Sie unter AWSCloud-Compliance.

Weitere Informationen zu den Funktionen in den einzelnen MySQL-Versionen finden Sie unter The Main Features of MySQL in der MySQL-Dokumentation.

Häufige Verwaltungsaufgaben für Amazon RDS für MySQL

Im Folgenden werden die Verwaltungsaufgaben genannt, die Sie mit einer RDS für MySQL-DB-Instance am häufigsten durchführen. Bei jeder Aufgabe sind Links zu relevanter Dokumentation enthalten.

Aufgabenbereich Relevante Dokumentation

Understanding Amazon RDS (Grundlagen von Amazon RDS

Bekommen Sie ein Verständnis über Amazon RDS-Komponenten, einschließlich DB-Instances, AWS-Regionen, Availability Zones, Sicherheitsgruppen, Parametergruppen und Optionsgruppen.

Was ist Amazon Relational Database Service (Amazon RDS)?

Amazon RDS für die Erstanwendung einrichten

Richten Sie Amazon RDS so ein, dass Sie in Amazon Web Services (AWS) MySQL-DB-Instances erstellen können.

Einrichten für Amazon RDS

Understanding Amazon RDS DB instances (Grundlagen von Amazon RDS-DB-Instances

Erstellen Sie virtuelle MySQL Server-Instances, die in ausgeführt werde AWS. Da DB-Instances die Grundbausteine von Amazon RDS sind, sollte Sie ihre Funktionsweise verstehen.

Amazon RDS DB-Instances

Creating a DB instance for production (Eine DB-Instance für die Produktion erstellen

Erstellen einer DB-Instance für Produktionszwecke. Das Erstellen einer Instance schließt die Auswahl einer DB-Instance-Klasse mit angemessener Rechenleistung und Speicherkapazität und der Auswahl des Speichertyps, der den Zweck für die Verwendung Ihrer Datenbank erfüllt, mit ein.

DB-Instance-Klassen

Amazon RDS-Speichertypen

Erstellen einer Amazon RDS-DB-Instance

Managing security for your DB instance (Sicherheit für Ihre DB-Instance verwalten

DB-Instances werden standardmäßig mit einer Firewall erstellt, die den Zugriff auf die Instance verhindert. Sie müssen eine Sicherheitsgruppe mit den korrekten IP-Adressen und Netzwerkkonfigurationen erstellen, um auf die DB-Instance zuzugreifen. Sie können auch AWS Identity and Access Management (IAM)-Richtlinien verwenden, um Berechtigungen zu erteilen, die bestimmen, wer RDS-Ressourcen verwalten darf.

Sicherheit in Amazon RDS

Verwalten des Zugriffs mit Richtlinien

Zugriffskontrolle mit Sicherheitsgruppen

Ermitteln der verwendeten Plattform: EC2-VPC oder EC2-Classic

Herstellen einer Verbindung mit einer DB-Instance

Verbinden Sie sich mit Ihrer DB-Instance mithilfe der Standard-SQL-Client-Anwendung, wie zum Beispiel dem Hilfsprogramm für MySQL-Eingabeaufforderung oder MySQL Workbench.

Verbinden mit einer DB-Instance, auf der die MySQL-Datenbank-Engine ausgeführt wird

Configuring high availability for a production DB instance (Hohe Verfügbarkeit für eine Produktions-DB-Instance konfigurieren

Sie können mithilfe von synchronen Standby-Replikationen hohe Verfügbarkeit in einer anderen Availability Zone, automatisches Failover, Fehlertoleranz für DB-Instances durch Verwendung von Multi-AZ-Bereitstellungen und Lesereplikate anbieten.

Hohe Verfügbarkeit (Multi-AZ) für Amazon RDS

Configuring a DB instance in an Amazon Virtual Private Cloud (DB-Instance in einer Amazon Virtual Private Cloud konfigurieren

Konfigurieren einer Virtual Private Cloud (VPC) im Amazon VPC-Service. Eine Amazon VPC ist ein virtuelles Netzwerk, das von anderen virtuellen Netzwerken in AWS logisch isoliert ist.

Ermitteln der verwendeten Plattform: EC2-VPC oder EC2-Classic

Arbeiten mit einer DB-Instance in einer VPC

Configuring specific MySQL database parameters and features (Spezifische MySQL-Datenbank-Parameter und -Funktionen konfigurieren

Konfigurieren Sie spezifische MySQL-Datenbank-Parameter mit einer Parametergruppe, die vielen DB-Instances zugeordnet werden kann. Sie können auch spezifische MySQL-Datenbankfunktionen mithilfe einer Optionsgruppe konfigurieren, die vielen DB-Instances zugewiesen werden kann.

Arbeiten mit DB-Parametergruppen

Arbeiten mit Optionsgruppen

Optionen für MySQL-DB-Instances

Modifying a DB instance running the MySQL database engine (DB-Instance ändern, auf der die MySQL-Datenbank-Engine ausgeführt wird

Ändern Sie die Einstellungen einer DB-Instance, um Aufgaben, wie zum Beispiel das Hinzufügen von zusätzlichem Speicher oder das Ändern der DB-Instance-Klasse, abschließen zu können.

Ändern einer Amazon RDS-DB-Instance

Configuring database backup and restore (Datenbank-Backups und -Wiederherstellung konfigurieren

Konfigurieren Sie Ihre DB-Instance, um automatisierte Backups durchzuführen. Sie können Ihre Datenbanken mithilfe von vollständigen Sicherungsdateien auch manuell sichern oder wiederherstellen.

Arbeiten mit Backups

Sichern und Wiederherstellen einer Amazon-RDS-DB-Instance

Importing and exporting data (Daten importieren und exportieren

Importieren Sie Daten von anderen MySQL-DB-Instances, MySQL-Instances, die außerhalb von Amazon RDS ausgeführt werden, und anderen Datenquelltypen, und exportieren Sie Daten in MySQL-Instances, die außerhalb von Amazon RDS ausgeführt werden.

Wiederherstellen eines Backups in einer MySQL-DB-Instance

Monitoring a MySQL DB instance (MySQL-DB-Instance überwachen

Überwachen Sie Ihre MySQL-DB-Instance mithilfe von Amazon CloudWatch-RDS-Metriken, -Ereignissen und erweiterter Überwachung. Sehen Sie sich Protokolldateien für Ihre MySQL-DB-Instance an.

Überwachung einer Amazon RDS-DB-Instance

Anzeigen von DB-Instance-Metriken

Anzeigen von Amazon RDS-Ereignissen

Arbeiten mit Amazon RDS Datenbank-Log-Dateien

MySQL-Datenbank-Protokolldateien

Replicating your data (Replikation Ihrer Daten

Erstellen Sie ein MySQL-Read Replica in derselben oder einer anderen AWS-Region. Lesereplikate können für Lastausgleich, Notfallwiederherstellung und Verarbeitung von leseintensiven Datenbank-Workloads, beispielsweise für Analysen oder Berichte, verwendet werden.

Arbeiten mit Lesereplikaten

Replikation mit einer MySQL oder MariaDB-Instance, die außerhalb von Amazon RDS ausgeführt wird

In verschiedenen Abschnitten finden Sie nützliche Informationen für das Arbeiten mit MySQL-DB-Instances:

MySQL in Amazon RDS-Versionen

In MySQL werden Versionsnummern als Version = X.Y.Z organisiert. In der Amazon RDS-Terminologie bezeichnet X.Y die Hauptversion und Z ist die Nummer der Unterversion. Bei Amazon RDS-Implementierungen gilt ein Versionswechsel als wesentlich, wenn sich die Hauptversionsnummer ändert — z. B. von Version 5.7 auf 8.0. Ein Versionswechsel gilt als unwesentlich, wenn sich nur die Unterversionsnummer ändert – z. B. von Version 5.7.16 auf 5.7.21.

Amazon RDS unterstützt derzeit die folgenden MySQL-Versionen:

Hauptversion Unterversion

MySQL 8.0

  • 8.0.25

  • 8.0.23

  • 8.0.21

  • 8.0.20

  • 8.0.19

  • 8.0.17

  • 8.0.16

  • 8.0.15

  • 8.0.13

  • 8.0.11

MySQL 5.7

  • 5.7.34

  • 5.7.33

  • 5.7.31

  • 5.7.30

  • 5.7.28

  • 5.7.26

  • 5.7.25

  • 5.7.24

  • 5.7.23

  • 5.7.22

  • 5.7.21

  • 5.7.19

  • 5.7.17

  • 5.7.16

MySQL 5.6

  • 5.6.51

  • 5.6.49

  • 5.6.48

  • 5.6.46

  • 5.6.44

  • 5.6.43

  • 5.6.41

  • 5.6.40

  • 5.6.39

  • 5.6.37

  • 5.6.35

  • 5.6.34

Sie können eine beliebige aktuell unterstützte MySQL-Version festlegen, wenn Sie eine DB-Instance erstellen. Sie können die Hauptversionen (wie z. B. MySQL 5.7) sowie eine beliebige unterstützte Unterversion für die festgelegte Hauptversion festlegen. Wenn keine Version angegeben wird, verwendet Amazon RDS standardmäßig eine unterstützte Version - in der Regel die aktuelle Version. Wenn die Hauptversion, jedoch nicht die Unterversion, festgelegt ist, verwendet Amazon RDS standardmäßig den letzten Release der Hauptversion, die Sie festgelegt haben. Eine Liste aller unterstützten Versionen sowie der Standardversionen für neu erstellte DB-Instances können Sie mit dem describe-db-engine-versions-Befehl AWS CLI aufrufen.

Die standardmäßige MySQL-Version kann je nach AWS-Region variieren. Um eine DB-Instance mit einer bestimmten Unterversion zu erstellen, geben Sie die Unterversion bei der Erstellung der DB-Instance an. Sie können die Standard-Unterversion für eine AWS-Region mithilfe des folgenden AWS CLI-Befehls ermitteln:

aws rds describe-db-engine-versions --default-only --engine mysql --engine-version major-engine-version --region region --query "*[].{Engine:Engine,EngineVersion:EngineVersion}" --output text

Ersetzen Sie major-engine-version durch die Engine-Hauptversion, und ersetzen Sie region durch die AWS-Region. Der folgende AWS CLI CLI-Befehl gibt beispielsweise die standardmäßige MySQL-Engine-Unterversion für die Hauptversion 5.7 und die USA West (Oregon)-AWS-Region (us-west-2) zurück:

aws rds describe-db-engine-versions --default-only --engine mysql --engine-version 5.7 --region us-west-2 --query '*[].{Engine:Engine,EngineVersion:EngineVersion}' --output text

Mit Amazon RDS können Sie steuern, wann Ihre MySQL-Instance auf eine neue Amazon RDS-unterstützte Hauptversion aktualisiert wird. Sie können die Kompatibilität mit bestimmten MySQL-Versionen aufrechterhalten, neue Versionen mit Ihrer Anwendung testen, bevor Sie diese für die Produktion bereitstellen, und Hauptversions-Upgrades zu ausgewählten Zeiten durchführen lassen.

Wenn das automatische Upgrade der Nebenversion aktiviert ist, wird Ihre DB-Instance automatisch auf neue MySQL-Nebenversionen aktualisiert, da diese von Amazon RDS unterstützt werden. Dieser Patch tritt während Ihres geplanten Wartungsfensters auf. Sie können eine DB-Instance ändern, um automatische Upgrades der Nebenversion zu aktivieren oder zu deaktivieren.

Wenn Sie sich von automatisch geplanten Upgrades abmelden, können Sie ein manuelles Upgrade auf eine der unterstützten Unterversionen durchführen, indem Sie die selben Schritte befolgen, wie bei einem Update auf eine Hauptversion. Weitere Informationen finden Sie unter Upgrade der Engine-Version für eine DB-Instance .

Amazon RDS unterstützt derzeit die Hauptversionsaktualisierung von MySQL-Version 5.6 auf Version 5.7 und MySQL-Version 5.7 auf Version 8.0. Da Hauptversionsaktualisierungen Kompatibilitätsrisiken bergen, werden sie nicht automatisch ausgeführt. Sie müssen für das Ändern der DB-Instance eine Anfrage stellen. Sie sollten alle Upgrades gründlich testen, bevor Sie Ihre Produktions-Instances aktualisieren. Weitere Informationen über das Upgraden einer MySQL-DB-Instance finden Sie unter Aktualisieren der MySQL DB-Engine.

Sie können vor dem Aktualisieren eine DB-Instance gegen eine neue Version testen, indem Sie einen DB-Snapshot Ihrer bestehenden DB-Instance erstellen, von diesem DB-Snapshot eine neue DB-Instance wiederherstellen und dann eine Versions-Upgrade für die neue DB-Instance durchführen. Sie können dann sicher mit dem aktualisierten Klon Ihrer DB-Instance experimentieren, bevor Sie entscheiden, Ihre originale DB-Instance zu aktualisieren.

Beendigung von MySQL Version 5.6

Am 1. Februar 2022 plant Amazon RDS den Support für MySQL 5.6 nach dem folgenden Zeitplan einzustellen, der Upgrade-Empfehlungen enthält. Wir empfehlen Ihnen, alle DB-Instances von MySQL 5.6 so schnell wie möglich auf MySQL 5.7 oder höher zu aktualisieren. Weitere Informationen finden Sie unter Aktualisieren der MySQL DB-Engine.

Aktion oder Empfehlung Datumsangaben

Wir empfehlen Ihnen, DB-Instances von MySQL 5.6 manuell auf die Version Ihrer Wahl zu aktualisieren.

Jetzt 1. Februar 2022

Wir empfehlen Ihnen, Snapshots von MySQL 5.6 manuell auf die Version Ihrer Wahl zu aktualisieren.

Jetzt 1. Februar 2022

Sie können keine neuen DB-Instances von MySQL 5.6 mehr erstellen.

1. Februar 2022

Amazon RDS startet automatische Upgrades Ihrer DB-Instances von MySQL 5.6 auf Version 5.7.

1. März 2022

Amazon RDS startet automatische Upgrades auf Version 5.7 für alle DB-Instances von MySQL 5.6, die aus Snapshots wiederhergestellt wurden.

1. März 2022

Weitere Informationen über die Veralterung von Amazon RDS für MySQL 5.6 finden Sie unter Ankündigung: Verlängerung des Ende-der-Nutzungsdauer-Prozesses für Amazon RDS für MySQL 5.6.

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

  • Plugin für die Gruppenreplikation

  • InnoDB-Tablespace-Verschlüsselung

  • Passwortstärke-Plugin

  • Persistente Systemvariablen

  • Semi-synchrone Replikation

  • Transportierbarer Tablespace

  • X-Plugin

Anmerkung

Globale Transaktions-IDs werden für MySQL Version 5.7.23 und höhere Versionen von MySQL 5.7 unterstützt. Globale Transaktions-IDs werden für RDS für MySQL 5.6 oder 8.0 nicht unterstützt.

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 db_owner-Rolle für alle Datenbanken in dieser Instance zugewiesen und Sie erhalten die Berechtigungen für alle Datenbankebenen, außer für jene, die für Sicherungen verwendet werden. verwaltet Sicherungen für Sie. Amazon RDS verwaltet Backups für Sie.

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. Sie müssen eine Instance von MySQL 5.6 oder neuer ausführen, um die InnoDB-Schnittstelle memcached zu verwenden. 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 und 5.5 werden in Amazon RDS nicht mehr unterstützt. Sie können jedoch bestehende MySQL 5.1- und 5.5-Snapshots bei Bedarf wiederherstellen. Wenn Sie einen MySQL-5.1- oder 5.5-Snapshot wiederherstellen, wird die DB-Instance automatisch auf MySQL 5.6 aktualisiert.

Vollständiges Storage-Verhalten für Amazon RDS für MySQL

Wenn der Speicher für eine MySQL-DB-Instance voll ist, kann es zu Inkonsistenzen bei Metadaten, Diskatorkonsistenzen und verwaisten Tabellen kommen. Um diese Probleme zu vermeiden, stoppt Amazon RDS automatisch eine DB-Instance, die den storage-full Status erreicht.

Eine MySQL-DB-Instance erreicht den storage-full Status in den folgenden Fällen:

  • Die DB-Instance verfügt über weniger als 20.000 MiB Speicher, und der verfügbare Speicher erreicht 200 MiB oder weniger.

  • Die DB-Instance verfügt über mehr als 102.400 MiB Speicher, und der verfügbare Speicher erreicht 1024 MiB oder weniger.

  • Die DB-Instance verfügt über zwischen 20.000 MiB und 102.400 MiB Speicher und verfügt über weniger als 1% des verfügbaren Speichers.

Nachdem eine DB-Instance automatisch Amazon RDS gestoppt wurde, weil sie den storage-full Status erreicht hat, können Sie sie immer noch ändern. Um die DB-Instance neu zu starten, führen Sie mindestens einen der folgenden Schritte aus:

Nachdem Sie eine dieser Änderungen vorgenommen haben, wird die DB-Instance automatisch neu gestartet. Informationen zum Ändern einer DB-Instance finden Sie unter Ändern einer Amazon RDS-DB-Instance.

MySQL-Sicherheit in Amazon RDS

Sicherheit für MySQL-DB-Instances wird auf drei Ebenen verwaltet:

  • AWS Identity and Access Management kontrolliert, wer Amazon RDS Management-Aktionen bei DB-Instances ausführen kann. Wenn Sie sich in AWS mit den IAM-Anmeldeinformationen anmelden, muss Ihr IAM-Konto über die IAM-Zugriffsrichtlinien verfügen, die erforderlichen Berechtigungen für das Durchführen von Amazon RDS-Verwaltungsvorgängen erteilen. Weitere Informationen finden Sie unter Identity and Access Management in Amazon RDS.

  • Beim Erstellen einer DB-Instance verwenden Sie entweder eine VPC-Sicherheitsgruppe oder eine DB-Sicherheitsgruppe, um zu steuern, welche Geräte und Amazon EC2-Instances Verbindungen zum Endpunkt und Port der DB-INstance öffnen können. Diese Verbindungen können über Secure Sockets Layer (SSL) erfolgen. Zusätzlich können Firewall-Regeln in Ihrem Unternehmen steuern, ob Geräte in Ihrem Unternehmen bestehende Verbindungen zur DB-Instance öffnen können.

  • Sie können eine der folgenden Anweisungen oder eine Kombination davon befolgen, um die Anmeldung und die Berechtigungen für eine MySQL-DB-Instance zu bestätigen.

    Sie können denselben Ansatz wie mit einer eigenständigen Instance in MySQL auswählen. Befehle wie CREATE USER, RENAME USER, GRANT, REVOKE und SET PASSWORD funktionieren genau wie auf lokalen Datenbanken, so wie auch das direkte Ändern von Datenbank-Schema-Tabellen. Weitere Informationen finden Sie unter Access Control and Account Management in der MySQL-Dokumentation.

    Sie können auch die IAM-Datenbank-Authentifizierung verwenden. Mit IAM-Datenbank-Authentifizierung, können Sie mithilfe eines IAM-Benutzers, einer IAM-Rolle oder eines Authentifizierungstokens Ihre DB-Instance bestätigen. Ein Authentifizierungstoken ist ein eindeutiger Wert, der mithilfe des Signatur-Version 4-Signiervorgangs erstellt wird. Durch das Verwenden der IAM-Datenbank-Authentifizierung können Sie dieselben Anmeldeinformationen verwenden, um den Zugang zu Ihren AWS-Ressourcen und Ihrer Datenbank zu steuern. Weitere Informationen finden Sie unter IAM-Datenbankauthentifizierung für MySQL und PostgreSQL.

Wenn Sie eine Amazon RDS DB-Instance erstellen, hat der Master-Benutzer standardmäßig folgende Berechtigungen:

  • alter

  • alter routine

  • create

  • create routine

  • create temporary tables

  • create user

  • create view

  • delete

  • drop

  • event

  • execute

  • grant option

  • index

  • insert

  • lock tables

  • process

  • references

  • replication client

  • replication slave (MySQL 5.6 and later)

  • select

  • show databases

  • show view

  • trigger

  • update

Anmerkung

Obwohl es möglich ist, den Masterbenutzer in der DB-Instance zu löschen, wird dies nicht empfohlen. Um den Masterbenutzer neu zu erstellen, verwenden Sie die RDS-API-Operation ModifyDBInstance oder den AWS CLI-Befehl modify-db-instance und geben mit dem vorgesehenen Parameter ein neues Masterbenutzerpasswort an. Wenn der Masterbenutzer nicht bereits in der Instance vorhanden ist, wird der Masterbenutzer mit dem angegebenen Passwort erstellt.

Um Verwaltungsdienste für jede DB-Instance bereitzustellen, wird der rdsadmin-Benutzer erstellt, wenn die DB-Instance erstellt wird. Der Versuch, das Passwort zu verwerfen, umzubenennen oder zu ändern, oder die Sonderrechte für das rdsadmin-Konto zu ändern, wird fehlschlagen.

Um die Verwaltung der DB-Instance zu erlauben, wurden die Befehle kill und kill_query beschränkt. Die Amazon RDS-Befehle rds_kill und rds_kill_query werden bereitgestellt, um Ihnen das Beenden von Benutzersitzungen oder Abfragen in DB-Instances zu ermöglichen.

Verwenden des Plugin für die Passwortvalidierung

MySQLstellt das validate_password-Plugin für eine verbesserte Sicherheit bereit. Das Plugin erzwingt Passwortrichtlinien durch Verwendung von Parametern in der DB-Parametergruppe für Ihre MySQL-DB-Instance. Das Plugin wird für DB-Instances unterstützt, die die MySQL-Versionen 5.6, 5.7 und 8.0 ausführen. Weitere Informationen zum validate_password-Plugin finden Sie unter The Password Validation Plugin in der MySQL-Dokumentation.

So aktivieren Sie das validate_password-Plugin für eine MySQL-DB-Instance

  1. Stellen Sie eine Verbindung zu Ihrer Instance her und führen Sie den folgenden Befehl aus:

    INSTALL PLUGIN validate_password SONAME 'validate_password.so';
  2. Konfigurieren Sie die Parameter für das Plugin in der DB-Parametergruppe, die von der DB-Instance verwendet wird.

    Weitere Informationen zu den Parametern finden Sie unter Password Validation Plugin Options and Variables in der MySQL-Dokumentation.

    Weitere Informationen zum Ändern von DB-Instance-Parametern finden Sie unter Ändern von Parametern in einer DB-Parametergruppe.

Nach dem Installieren und Aktivieren des password_validate-Plugin setzen Sie vorhandene Passwörter zurück, um den neuen Validierungsrichtlinien zu entsprechen.

Amazon RDS validiert keine Passwörter. Die MySQL-DB-Instance führt die Passwortvalidierung durch. Wenn Sie ein Benutzerpasswort mit der AWS Management Console, dem modify-db-instance-Befehl, der AWS CLI oder der RDS-API-Opperation ModifyDBInstance festlegen, ist die Änderung möglicherweise auch dann erfolgreich, wenn das neue Passwort nicht mit Ihren Passwortrichtlinien übereinstimmt. Ein neues Passwort wird jedoch nur dann in der MySQL-DB-Instance festgelegt, wenn es den Passwortrichtlinien entspricht. In diesem Fall zeichnet Amazon RDS das folgende Ereignis auf.

"RDS-EVENT-0067" - An attempt to reset the master password for the DB instance has failed.

Weitere Informationen über Amazon RDS-Ereignisse finden Sie unter Verwenden von Amazon RDS-Ereignisbenachrichtigungen.

Verwenden von SSL mit einer MySQL DB-Instance

Amazon RDS unterstützt Secure Sockets Layer (SSL)-Verbindungen mit DB-Instances, die MySQL-Datenbank-Engine ausführen.

Amazon RDS erstellt ein SSL-Zertifikat und installiert das Zertifikat auf der DB-Instance, wenn Amazon RDS die Instance bereitstellt. Diese Zertifikate werden von einer Zertifizierungsstelle signiert. Das SSL-Zertifikat enthält den DB-Instance-Endpunkt als allgemeinen Name (Common Name CN) für das SSL-Zertifikat, um gegen Spoofing-Angriffe zu schützen.

Ein SSL-Zertifikat, das von Amazon RDS erstellt wurde, ist die vertrauenswürdige Root Entity und sollte in den meisten Fällen funktionieren, könnte jedoch fehlschlagen, wenn Ihre Anwendung keine Zertifikatsketten akzeptiert. Wenn Ihre Anwendung keine Zertifikatsketten akzeptiert, müssen Sie evtl. ein Zwischenzertifikat verwenden, um sich mit Ihrer AWS-Region zu verbinden. Beispielsweise müssen Sie ein Zwischenzertifikat verwenden, um sich mithilfe von SSL mit den AWS GovCloud (US) -Regionen zu verbinden.

Informationen zum Herunterladen von Zertifikaten finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung mit DB-instance. Weitere Informationen über die Verwendung von SSL mit MySQL finden Sie unter Aktualisieren von Anwendungen, um Verbindungen mit MySQL-DB-Instances mithilfe neuer SSL/TLS-Zertifikate herzustellen.

MySQL verwendet yaSSL für sichere Verbindungen in folgenden Versionen:

  • MySQL Version 5.7.19 und frühere 5.7-Versionen

  • MySQL Version 5.6.37 und frühere 5.6-Versionen

MySQL verwendet OpenSSL für sichere Verbindungen in folgenden Versionen:

  • MySQL-Version 8.0

  • MySQL Version 5.7.21 und höhere 5.7-Versionen

  • MySQL Version 5.6.39 und höhere 5.6-Versionen

Amazon RDS for MySQL unterstützt Transport Layer Security (TLS) Version 1.0, 1.1 und 1.2. In der folgenden Tabelle ist dargestellt, welche TLS-Versionen für die MySQL-Versionen unterstützt werden.

MySQL-Version TLS 1.0 TLS 1.1 TLS 1.2

MySQL 8.0

Unterstützt

Unterstützt

Unterstützt

MySQL 5.7

Unterstützt

Unterstützt

Unterstützt für MySQL 5.7.21 und höher

MySQL 5.6

Unterstützt

Unterstützt für MySQL 5.6.46 und höher

Unterstützt für MySQL 5.6.46 und höher

Um Verbindungen mithilfe des standardmäßigen mysql-Clients zu verschlüsseln, starten Sie den Client mit dem Parameter --ssl-ca, um auf den öffentlichen Schlüssel zu verweisen, wie in den folgenden Beispielen dargestellt.

Im folgenden Beispiel sehen Sie für MySQL 5.7 und höher, wie der Client mit dem Parameter --ssl-ca gestartet wird.

mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

Im folgenden Beispiel sehen Sie für MySQL 5.6 und früher, wie der Client mit dem Parameter --ssl-ca gestartet wird.

mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-verify-server-cert

Informationen zum Herunterladen von Zertifikatenbündel finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung mit DB-instance.

Sie können SSL-Verbindungen für bestimmte Benutzerkonten anfordern. Verwenden Sie beispielsweise eine der folgenden Anweisungen – abhängig von Ihrer MySQL-Version – um SSL-Verbindungen für das Benutzerkonto anzuforder encrypted_user.

Verwenden Sie für MySQL 5.7 und höher die folgende Anweisung.

ALTER USER 'encrypted_user'@'%' REQUIRE SSL;

Verwenden Sie für MySQL 5.6 und früher die folgende Anweisung.

GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;

Weitere Informationen zu SSL-Verbindungen mit MySQL finden Sie unter Using Encrypted Connections in der MySQL-Dokumentation.

Verwenden von memcached und anderen Optionen mit MySQL

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 in MySQL-Version 5.6 und neuer 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-Initialisierung

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.

MySQL in Amazon RDS unterstützt InnoDB-Cache-Initialisierung für MySQL-Version 5.6 und neuer. 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 Arbeiten mit DB-Parametergruppen.

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 den Bufferpool bei Bedarf verwerfen oder laden, wenn Ihre DB-Instance MySQL-Version 5.6.19 oder neuer ausgeführt.

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

In MySQL-Version 5.6.19 oder neuer können Sie den InnoDB-Cache nach Bedarf speichern und laden.

Lokale Zeitzone für MySQL-DB-Instances

Standardmäßig ist die Zeitzone für eine MySQL-DB-Instance auf die koordinierte Weltzeit (UTC) eingestellt. Sie können die Zeitzone für Ihre DB-Instance auf die lokale Zeitzone für Ihre Anwendung einstellen.

Setzen Sie den Parameter time_zone in der Parametergruppe für Ihre DB-Instance auf einen der unterstützten Werte, die weiter unten in diesem Abschnitt gelistet sind. Wenn Sie den Parameter time_zone für eine Parametergruppe setzen, wird bei allen DB-Instances und Lesereplikaten, die diese Parametergruppe verwenden, die neue lokale Zeitzone eingestellt. Weitere Informationen zum Einstellen von Parametern in einer Parametergruppe finden Sie unter Arbeiten mit DB-Parametergruppen.

Nachdem Sie die lokale Zeitzone eingestellt haben, werden alle neuen Verbindungen zur Datenbank die Änderung reflektieren. Wenn Sie keine offenen Verbindungen zu Ihrer Datenbank haben, wenn Sie die lokale Zeitzone ändern, sehen Sie die lokale Zeitzonenaktualisierung nicht, nachdem Sie die Verbindung schließen und eine neue Verbindung öffnen.

Sie können eine andere lokale Zeitzone für eine DB-Instance sowie ein oder mehrere ihrer Lesereplikate einstellen. Verwenden Sie eine andere Parametergruppe für die DB-Instance und das/die Replica/s und stellen Sie den Parameter time_zone in jeder Parametergruppe auf eine andere lokale Zeit ein.

Wenn Sie über AWS-Regionen hinweg replizieren, verwenden die DB-Quell-Instance und das Lesereplikat unterschiedliche Parametergruppen (Parametergruppen sind eindeutig für eine AWS-Region). Sie müssen den Parameter time_zone in der Parametergruppe der Instance und des Lesereplikats einstellen, um dieselbe lokale Zeitzone für jede Instance zu verwenden.

Wenn Sie eine DB-Instance von einem DB-Snapshot wiederherstellen, wird die lokale Zeitzone auf UTC eingestellt. Sie können die Zeitzone auf Ihre lokale Zeitzone einstellen, nachdem die Wiederherstellung abgeschlossen ist. Wenn Sie die DB-Instance auf einen Zeitpunkt wiederherstellen, ist die lokale Zeitzone für die wiederhergestellte DB-Instance die Zeitzoneneinstellung von der Parametergruppe für die wiederhergestellte DB-Instance.

Sie können Ihre lokale Zeitzone auf die folgenden Werte einstellen.

Africa/Cairo

Asia/Riyadh

Africa/Casablanca

Asia/Seoul

Africa/Harare

Asia/Shanghai

Africa/Monrovia

Asia/Singapore

Africa/Nairobi

Asia/Taipei

Africa/Tripoli

Asia/Tehran

Africa/Windhoek

Asia/Tokyo

America/Araguaina

Asia/Ulaanbaatar

America/Asuncion

Asia/Vladivostok

America/Bogota

Asia/Yakutsk

America/Buenos_Aires

Asia/Yerevan

America/Caracas

Atlantic/Azores

America/Chihuahua

Australia/Adelaide

America/Cuiaba

Australia/Brisbane

America/Denver

Australia/Darwin

America/Fortaleza

Australia/Hobart

America/Guatemala

Australia/Perth

America/Halifax

Australia/Sydney

America/Manaus

Brazil/East

America/Matamoros

Canada/Newfoundland

America/Monterrey

Canada/Saskatchewan

America/Montevideo

Canada/Yukon

America/Phoenix

Europe/Amsterdam

America/Santiago

Europe/Athens

America/Tijuana

Europe/Dublin

Asia/Amman

Europe/Helsinki

Asia/Ashgabat

Europe/Istanbul

Asia/Baghdad

Europe/Kaliningrad

Asia/Baku

Europe/Moscow

Asia/Bangkok

Europe/Paris

Asia/Beirut

Europe/Prague

Asia/Calcutta

Europe/Sarajevo

Asia/Damascus

Pacific/Auckland

Asia/Dhaka

Pacific/Fiji

Asia/Irkutsk

Pacific/Guam

Asia/Jerusalem

Pacific/Honolulu

Asia/Kabul

Pacific/Samoa

Asia/Karachi

US/Alaska

Asia/Kathmandu

US/Central

Asia/Krasnoyarsk

US/Eastern

Asia/Magadan

US/East-Indiana

Asia/Muscat

US/Pacific

Asia/Novosibirsk

UTC

Bekannte Probleme und Einschränkungen für Amazon RDS für MySQL

Es gibt einige bekannte Probleme und Einschränkungen bei der Arbeit mit MySQL Amazon RDS für MySQL. Weitere Informationen finden Sie unter Bekannte Probleme und Einschränkungen für Amazon RDS für MySQL.

Veraltete Versionen für Amazon RDS für MySQL

Amazon RDS für MySQLVersion 5.1 und 5.5 sind veraltet.

Weitere Informationen über die Veralterung von Amazon RDS für MySQL 5.5 finden Sie unter Ankündigung: Verlängerung des Ende-der-Nutzungsdauer-Prozesses für Amazon RDS für MySQL 5.5.

Weitere Informationen zur Amazon RDS-Veralterungsrichtlinie für MySQL finden Sie unter Häufig gestellte Fragen zu Amazon RDS.