MariaDB auf Amazon RDS - Amazon Relational Database Service

MariaDB auf Amazon RDS

Amazon RDS unterstützt DB-Instancen, die mehrere MariaDB-Versionen ausführen. Sie können die folgenden Major-Versionen verwenden:

  • MariaDB 10.4

  • MariaDB 10.3

  • MariaDB 10.2

  • MariaDB 10.1

  • MariaDB 10.0

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

Sie verwenden zunächst die Amazon RDS-Management-Tools bzw. Schnittstellen zum Erstellen einer Amazon RDS-MariaDB-DB-Instance. Sie können dann mit Amazon RDS-Tools Verwaltungsaktionen für die DB-Instance ausführen, wie beispielsweise das Neukonfigurieren oder Ändern der Größe der DB-Instance, das Autorisieren von Verbindungen zur DB-Instance, das Erstellen und Wiederherstellen von Backups oder Snapshots, das Erstellen von sekundären Multi-AZs, das Erstellen von Lesereplikaten sowie das Überwachen der Leistung der DB-Instance. Sie nutzen die standardmäßigen MariaDB-Dienstprogramme und -Anwendungen zum Speichern und Aufrufen der Daten in der DB-Instance.

MariaDB ist in allen AWS-Regionen verfügbar. Weitere Informationen über AWS-Regionen finden Sie unter Regionen, Availability Zones und lokale Zonen .

Sie können Amazon RDS für MariaDB-Datenbanken für die Erstellung von HIPAA-kompatiblen Anwendungen verwenden. Mit AWS können Sie Gesundheitsdaten, darunter geschützte patientenbezogene Daten (protected health information, PHI), im Rahmen eines Geschäftspartnervertrags (Business Associate Agreement, BAA) speichern. Weitere Informationen finden Sie unter HIPAA-Compliance. Die zugelassenen AWS-Services wurden von einem externen Prüfer beurteilt. Anschließend wurde eine Zertifizierung, Compliance-Bescheinigung oder Betriebszulassung (Authority to Operate, ATO) ausgestellt. Weitere Informationen finden Sie unter Im Rahmen des Compliance-Programms zugelassene AWS-Services.

Bevor Sie Ihre erste DB-Instance erstellen, sollten Sie die Schritte für die Einrichtung in diesem Leitfaden durchführen. Weitere Informationen finden Sie unter Einrichten für Amazon RDS.

Häufige Management-Tasks für MariaDB auf Amazon RDS

Im Folgenden werden die Verwaltungsaufgaben veranschaulicht, die Sie mit einer Amazon RDS DB-Instance mit MariaDB ausführen. Bei jeder Aufgabe sind Links zu relevanter Dokumentation enthalten.

Aufgabenbereich Relevante Dokumentation

Instance-Klassen, Speicher und PIOPS

Wenn Sie eine DB-Instance zu Produktionszwecken erstellen, müssen Sie wissen, wie Instance-Klassen, Speichertypen und bereitgestellte IOPS in Amazon RDS funktionieren.

DB-Instance-Klassen

Amazon RDS-Speichertypen

Multi-AZ-Bereitstellungen

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

Amazon Virtual Private Cloud (VPC)

Wenn Ihr AWS-Konto über eine Standard-VPC verfügt, wird Ihre DB-Instance automatisch in dieser Standard-VPC erstellt. Wenn Ihr Konto über keine Standard-VPC verfügt und Sie die DB-Instance in einer VPC erstellen möchten, müssen Sie zunächst die VPC und Subnetz-Gruppen erstellen.

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

Arbeiten mit einer DB-Instance in einer VPC

Sicherheitsgruppen

DB-Instances werden standardmäßig mit einer Firewall erstellt, die den Zugriff auf die Instance verhindert. Daher müssen Sie eine Sicherheitsgruppe mit den korrekten IP-Adressen und Netzwerkkonfigurationen erstellen, um auf die DB-Instance zuzugreifen. Die Sicherheitsgruppe, die Sie erstellen, hängt von der Amazon EC2-Plattform ab, auf der sich Ihre DB-Instance befindet, und davon, ob Sie auf Ihre DB-Instance von einer Amazon EC2-Instance aus zugreifen.

Generell müssen Sie eine DB-Sicherheitsgruppe für Ihre DB-Instance erstellen, falls sich Ihre DB-Instance auf der Plattform EC2-Classic befindet. Wenn sich Ihre DB-Instance auf der Plattform EC2-VPC befindet, müssen Sie eine VPC-Sicherheitsgruppe erstellen.

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

Zugriffskontrolle mit Sicherheitsgruppen

Parametergruppen

Wenn Ihre DB-Instance spezifische Datenbankparameter erfordert, sollten Sie vor der DB-Instance eine Parametergruppe erstellen.

Arbeiten mit DB-Parametergruppen

Importieren und Exportieren von Daten

Legen Sie Verfahren für den Import oder Export von Daten fest.

Importieren von Daten in eine MariaDB-DB-Instance

Replikation

Sie können Leseverkehr von Ihrer MariaDB-DB-Quell-Instance durch das Erstellen von Lesereplikaten entladen.

Arbeiten mit Read Replicas

Herstellen einer Verbindung mit einer DB-Instance

Verbinden mit Ihrer DB-Instance über eine Standard-SQL-Client-Anwendung.

Herstellen einer Verbindung mit einer DB-Instance, auf der die MariaDB-Datenbank-Engine ausgeführt wird

Sicherung und Wiederherstellung

Beim Erstellen Ihrer DB-Instance können Sie automatisierte Sicherungen konfigurieren. Sie können Ihre Datenbanken auch mithilfe von vollständigen Sicherungsdateien (.bak-Dateien) manuell sichern oder wiederherstellen.

Arbeiten mit Sicherungen

Überwachung

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

Anzeigen von DB-Instance-Metriken

Anzeigen von Amazon RDS-Ereignissen

Protokolldateien

Sie können auf die Protokolldateien für Ihre MariaDB-DB-Instance zugreifen.

Amazon RDS Datenbank-Protokolldateien

MariaDB-Datenbank-Protokolldateien

Es gibt auch erweiterte administrative Aufgaben für die Arbeit mit DB-Instances mit MariaDB. Weitere Informationen finden Sie in der folgenden Dokumentation:

MariaDB auf Amazon RDS Versionen

Bei MariaDB sind Versionsnummern im Format „Version X.Y.Z.“ angeordnet. 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 10.0 auf 10.1. Ein Versionswechsel gilt als unwesentlich, wenn sich nur die Unterversionsnummer ändert, z. B. von Version 10.0.17 auf 10.0.24.

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

Major Version Minor Version

MariaDB 10.4

  • 10.4.13 (in allen AWS-Regionen unterstützt)

  • 10.4.8 (in allen AWS-Regionen unterstützt)

MariaDB 10.3

  • 10.3.23 (in allen AWS-Regionen unterstützt)

  • 10.3.20 (in allen AWS-Regionen unterstützt)

  • 10.3.13 (in allen AWS-Regionen unterstützt)

  • 10.3.8 (in allen AWS-Regionen unterstützt)

MariaDB 10.2

  • 10.2.21 (in allen AWS-Regionen unterstützt)

  • 10.2.15 (in allen AWS-Regionen unterstützt)

  • 10.2.12 (in allen AWS-Regionen unterstützt)

  • 10.2.11 (in allen AWS-Regionen unterstützt)

MariaDB 10.1

  • 10.1.34 (in allen AWS-Regionen unterstützt)

  • 10.1.31 (in allen AWS-Regionen unterstützt)

  • 10.1.26 (in allen AWS-Regionen unterstützt)

  • 10.1.23 (in allen AWS-Regionen unterstützt)

  • 10.1.19 (in allen AWS-Regionen unterstützt)

  • 10.1.14 (unterstützt in allen AWS-Regionen außer USA Ost (Ohio))

MariaDB 10.0

  • 10.0.35 (in allen AWS-Regionen unterstützt)

  • 10.0.34 (in allen AWS-Regionen unterstützt)

  • 10.0.32 (in allen AWS-Regionen unterstützt)

  • 10.0.31 (in allen AWS-Regionen unterstützt)

  • 10.0.28 (in allen AWS-Regionen unterstützt)

  • 10.0.24 (in allen AWS-Regionen unterstützt)

  • 10.0.17 (unterstützt in allen AWS-Regionen außer USA Ost (Ohio), Kanada (Zentral) und Europa (London))

Sie können alle aktuell unterstützten MariaDB-Versionen beim Erstellen einer neuen DB-Instanz angeben. Sie können die Hauptversionen (wie z. B. MariaDB 10.2) 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 AWS CLI-Befehl describe-db-engine-versions aufrufen.

Die Standard-MariaDB-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 mariadb --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-Befehl gibt beispielsweise die standardmäßige MariaDB-Engine-Unterversion für die Hauptversion 10.3 und die USA West (Oregon)-AWS-Region (us-west-2) zurück:

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

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

MariaDB-Funktionsunterstützung in Amazon RDS

In den folgenden Abschnitten finden Sie die MariaDB-Funktionsunterstützung in Amazon RDS für MariaDB-Hauptversionen:

Informationen über unterstützte Nebenversionen von Amazon RDS for MariaDB finden Sie unter MariaDB auf Amazon RDS Versionen.

MariaDB 10.4-Support in Amazon RDS

Amazon RDS unterstützt die folgenden neuen Funktionen bei DB-Instances mit MariaDB-Version 10.4 oder höher:

Eine Liste aller Funktionen von MariaDB 10.4 und die entsprechende Dokumentation finden Sie unter Änderungen und Verbesserungen in MariaDB 10.4 und Versionshinweise – MariaDB 10.4 Serie auf der MariaDB-Website.

Eine Liste der nicht unterstützten Funktionen finden Sie unter Nicht unterstützte Funktionen.

MariaDB 10.3 Support auf Amazon RDS

Amazon RDS unterstützt die folgenden neuen Funktionen bei DB-Instances mit MariaDB Version 10.3 oder höher:

  • Oracle-Kompatibilität – PL/SQL-kompatibler Parser, Sequenzen, INTERSECT und EXCEPT als Ergänzung zu UNION, neue Deklarationen TYPE OF und ROW TYPE OF und verborgene Spalten

  • Temporäre Datenverarbeitung – Tabellen mit Systemversionierung für die Abfrage früherer und aktueller Datenbankstatus

  • Flexibilität – Benutzerdefinierte Aggregate, speicherunabhängige Spaltenkomprimierung und Unterstützung für das Proxy-Protokoll für die Übergabe der Client-IP-Adresse an den Server

  • Verwaltbarkeit – Sofortige ADD COLUMN-Operationen und Data Definition Language (DDL)-Operationen mit Fast-Fail.

Eine Liste aller Funktionen von MariaDB 10.3 und die entsprechende Dokumentation finden Sie unter Änderungen und Verbesserungen in MariaDB 10.3 und Versionshinweise – MariaDB 10.3 Serie auf der MariaDB-Website.

Eine Liste der nicht unterstützten Funktionen finden Sie unter Nicht unterstützte Funktionen.

MariaDB 10.2 Support auf Amazon RDS

Amazon RDS unterstützt die folgenden neuen Funktionen bei DB-Instances mit MariaDB Version 10.2 oder höher:

  • ALTER USER

  • Allgemeine Tabellenausdrücke

  • Komprimieren von Ereignissen, um die Größe des Binärprotokolls zu reduzieren

  • CREATE USER — neue Optionen für die Begrenzung der Ressourcennutzung und TLS/SSL

  • EXECUTE IMMEDIATE

  • Flashback

  • InnoDB — jetzt die Standard-Speicher-Engine statt XtraDB

  • InnoDB — legt die Größe des Pufferpools dynamisch fest

  • JSON-Funktionen

  • Fensterfunktionen

  • WITH

Eine Liste aller Funktionen von MariaDB 10.2 und die entsprechende Dokumentation finden Sie unter Änderungen und Verbesserungen in MariaDB 10.2 und Versionshinweise – MariaDB 10.2 Serie auf der MariaDB-Website.

Eine Liste der nicht unterstützten Funktionen finden Sie unter Nicht unterstützte Funktionen.

MariaDB 10.1 Support auf Amazon RDS

Amazon RDS unterstützt die folgenden neuen Funktionen bei DB-Instances mit MariaDB Version 10.1 oder höher:

  • Optimistisch parallele Replikation in Reihenfolge

  • Seitenkomprimierung

  • XtraDB Data-Scrubbing und Defragmentierung

Eine Liste aller Funktionen von MariaDB 10.1 und die entsprechende Dokumentation finden Sie unter Änderungen und Verbesserungen in MariaDB 10.1 und Versionshinweise – MariaDB 10.1 Serie auf der MariaDB-Website.

Eine Liste der nicht unterstützten Funktionen finden Sie unter Nicht unterstützte Funktionen.

MariaDB 10.0 Support auf Amazon RDS

Eine Liste aller Funktionen von MariaDB 10.0 und die entsprechende Dokumentation finden Sie unter Änderungen und Verbesserungen in MariaDB 10.0 und Versionshinweise – MariaDB 10.0 Serie auf der MariaDB-Website.

Eine Liste der nicht unterstützten Funktionen finden Sie unter Nicht unterstützte Funktionen.

Nicht unterstützte Funktionen

Die folgenden MariaDB-Funktionen werden in Amazon RDS nicht unterstützt:

  • Authentifizierungs-Plugin – GSSAPI

  • Authentifizierungs-Plugin – Unix Socket

  • AWS Key Management-Verschlüsselungs-Plugin

  • Verzögerte Replikation

  • Native MariaDB-Verschlüsselung im Ruhezustand für XtraDB, InnoDB und Aria.

    Sie können die Verschlüsselung von Daten im Ruhezustand für eine MariaDB-DB-Instance durch Befolgen der Anleitungen unter Verschlüsseln von Amazon RDS-Ressourcen aktivieren.

  • HandlerSocket

  • JSON-Tabellentyp

  • MariaDB ColumnStore

  • MariaDB Galera-Cluster

  • Replikation aus mehreren Quellen

  • MyRocks-Speicher-Engine

  • Passwort-Validierungs-Plugin simple_password_checkund cracklib_password_check

  • Replikationsfilter

  • Spider-Speicher-Engine

  • Sphinx-Speicher-Engine

  • TokuDB-Speicher-Engine

  • Speicher-Engine-spezifische Objektattribute, wie unter Engine-defined New Table/Field/Index Attributes in der MariaDB-Dokumentation beschrieben.

  • Tabellen- und Tablespace-Verschlüsselung

Um eine verwaltete Service-Erfahrung zu bieten, stellt Amazon RDS keinen Shell-Zugriff zu DB-Instances bereit und beschränkt den Zugriff auf bestimmte Systemprozeduren und -tabellen, die erweiterte Sonderrechte erfordern. 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.

Unterstützte Speicher-Engines für MariaDB auf Amazon RDS

Während MariaDB mehrere Speicher-Engines mit unterschiedlichen Fähigkeiten unterstützt, sind nicht alle von ihnen für die Wiederherstellung und Langlebigkeit von Daten optimiert. Für MariaDB-DB-Instances in Amazon RDS werden InnoDB (für Version 10.2 und höher) und XtraDB (für Version 10.0 und 10.1) als Speicher-Engines empfohlen und unterstützt. Amazon RDS-Funktionen wie die zeitpunktbezogene und die Snapshot-Wiederherstellung setzen eine wiederherstellbare Speicher-Engine voraus und werden nur für die empfohlene Speicher-Engine für die MariaDB-Version unterstützt. Amazon RDS unterstützt auch die Verwendung von Aria, obwohl Aria möglicherweise negative Auswirkungen auf die Wiederherstellung im Falle eines Instance-Fehlers hat. Wenn Sie jedoch räumliche Indizes zum Verwalten geografischer Daten in MariaDB 10.1 oder 10.0 benötigen, sollten Sie Aria verwenden, da räumliche Indizes nicht von XtraDB unterstützt werden. In MariaDB 10.2 und höher unterstützt die InnoDB-Speicher-Engine räumliche Indizes.

Andere Speicher-Engines werden derzeit nicht von Amazon RDS für MariaDB unterstützt.

MariaDB-Dateigrößenlimits in Amazon RDS

Bei MariaDB-DB-Instances in Amazon RDS schränkt der maximal bereitgestellte Speicher die Tabellengröße auf maximal 16 TB ein, sofern InnoDB-Tabellenräume (innodb_file_per_table) verwendet werden. Dieses Limit beschränkt auch den Tabellenraum des Systems auf maximal 16 TB. InnoDB-Datei-pro-Tabelle-Tablespaces (mit Tabellen in jeweils einem eigenen Tablespace) werden für Amazon RDS MariaDB-DB-Instances standardmäßig festgelegt. Weitere Informationen finden Sie unter Amazon RDS-DB-Instance-Speicher.

Die Option der InnoDB-Tabellenräumen (innodb_file_per_table) bietet abhängig von der Anwendung sowohl Vor- als auch Nachteile. Um den besten Ansatz für Ihre Anwendung zu bestimmen, lesen Sie Datei-pro-Tabelle-Tabellenräume in der MySQL-Dokumentation.

Es wird nicht empfohlen, die Tabellen bis zur maximal möglichen Größe anwachsen zu lassen. Generell hat es sich bewährt, Daten in kleinere Tabellen zu partitionieren, wodurch sich die Leistung und die Wiederherstellungszeiten verbessern.

Eine Möglichkeit, mit der Sie eine große Tabelle in kleinere Tabellen aufteilen können, ist die Partitionierung. Die Partitionierung verteilt Teile Ihrer großen Tabelle in separate Dateien auf der Basis von Regeln, die Sie angeben. Wenn Sie beispielsweise Transaktionen nach Datum speichern, können Sie Partitionierungsregeln erstellen, mit denen ältere Transaktionen in separate Dateien partitioniert werden. Anschließend können Sie regelmäßig die historischen Transaktionsdaten archivieren, die für Ihre Anwendung nicht ständig verfügbar sein müssen. Weitere Informationen finden Sie unter Partitionierung in der MySQL-Dokumentation.

So bestimmen Sie die Dateigröße einer Tabelle

Verwenden Sie den folgenden SQL-Befehl, um zu bestimmen, ob eine Ihrer Tabellen zu groß ist und evtl. partitioniert werden sollte. Führen Sie den Befehl ANALYZE TABLE für jede Tabelle aus, um die Tabellenstatistik zu aktualisieren. Weitere Informationen finden Sie unter ANALYZE TABLE-Anweisung in der MySQL-Dokumentation.

SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2) As "Approximate size (MB)", DATA_FREE FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema');

So aktivieren Sie InnoDB-Datei-pro-Tabelle-Tabellenräume

  • Um InnoDB-Datei-pro-Tabelle-Tablespaces zu aktivieren, legen Sie den Parameter innodb_file_per_table in der Parametergruppe für die DB-Instance auf 1 fest.

So deaktivieren Sie InnoDB-Datei-pro-Tabelle-Tabellenräume

  • Um InnoDB-Datei-pro-Tabelle-Tablespaces zu deaktivieren, legen Sie den Parameter innodb_file_per_table in der Parametergruppe für die DB-Instance auf 0 fest.

Weitere Informationen über das Updaten von Parametergruppen finden Sie unter Arbeiten mit DB-Parametergruppen.

Wenn Sie InnoDB-Datei-pro-Tabelle-Tabellenräume aktiviert oder deaktiviert haben, können Sie den Befehl ALTER TABLE ausführen. Sie können diesen Befehl verwenden, um eine Tabelle vom globalen Tablespace in einen eigenen Tablespace zu verschieben. Oder Sie können eine Tabelle aus ihrem eigenen Tablespace in den globalen Tablespace verschieben. Im Folgenden sehen Sie ein Beispiel.

ALTER TABLE table_name ENGINE=InnoDB, ALGORITHM=COPY;

MariaDB Sicherheit auf Amazon RDS

Die Sicherheit von Amazon RDS MariaDB DB-Instancen 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 Identitäts- und Zugriffsverwaltung 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 Socket 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.

  • Sobald eine Verbindung zu einer MariaDB DB-Instance geöffnet worden ist, erfolgt die Authentifizierung der Anmeldung und Berechtigungen werden auf die gleiche Weise, wie bei einer eigenständigen Instance von MariaDB angewendet. Befehle wie CREATE USER, RENAME USER, GRANT, REVOKE, und SET PASSWORD arbeiten genauso wie es bei eigenständigen Datenbanken der Fall ist, wie auch das direkte Ändern der Datenbankschematabellen.

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

  • reload

    Dieses Privileg ist auf Amazon RDS MariaDB DB-Instancen begrenzt. Es bietet keinen Zugriff auf die FLUSH LOGS oder FLUSH TABLES WITH READ LOCK-Operationen.

  • replication client

  • replication slave

  • select

  • show databases

  • show view

  • trigger

  • update

Weitere Informationen zu diesen Berechtigungen finden Sie unter User Account Management in der MariaDB Dokumentation.

Anmerkung

Obwohl Sie der Master-Benutzer einer DB-Instance löschen können, empfehlen wir, dies nicht zu tun. Um den Master-Benutzer neu zu erstellen, verwenden Sie die ModifyDBInstance API oder das modify-db-instance AWS-Befehlszeilen-Tool, um ein neues Master-Benutzer-Passwort mit dem entsprechenden Parameter anzugeben. Wenn der Master-Benutzer nicht in der Instance vorhanden ist, wird der Master-Benutzer mit dem angegebenen Passwort erstellt.

Um Verwaltungsdienste für jede DB-Instance bereitzustellen, wird der rdsadmin-Benutzer erstellt, wenn die DB-Instance erstellt wird. Ein Versuch, das Passwort auszulassen oder umzubenennen, oder Berechtigungen für das rdsadmin Konto zu ändern, führt zu einem Fehler.

Um die Verwaltung der DB-Instance zu erlauben, wurden die Befehle kill und kill_query beschränkt. Die Amazon RDS-Befehle mysql.rds_kill, mysql.rds_kill_query und mysql.rds_kill_query_id werden für den Einsatz in MariaDB und MySQL bereitgestellt, damit Sie Benutzersitzungen oder Abfragen auf DB-Instances beenden können.

Verwenden von SSL mit einer MariaDB DB-Instance

Amazon RDS unterstützt Secure Sockets Layer (SSL)-Verbindungen mit DB-Instances, die die MariaDB 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.

Informationen zum Herunterladen von Zertifikaten finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance.

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

  • MariaDB Version 10.1.26 und frühere 10.1-Versionen

  • MariaDB Version 10.0.32 und frühere 10.0-Versionen

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

  • MariaDB 10.4-Versionen

  • MariaDB 10.3-Versionen

  • MariaDB 10.2-Versionen

  • MariaDB Version 10.1.31 und höhere 10.1-Versionen

  • MariaDB Version 10.0.34 und höhere 10.0-Versionen

Amazon RDS for MariaDB 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.

MariaDB-Version TLS 1.0 TLS 1.1 TLS 1.2

MariaDB 10.4

Unterstützt

Unterstützt

Unterstützt

MariaDB 10.3

Unterstützt

Unterstützt

Unterstützt

MariaDB 10.2

Unterstützt

Unterstützt

Unterstützt

MariaDB 10.1

Unterstützt

Unterstützt für Version 10.1.31 und höhere 10.1-Versionen

Unterstützt für Version 10.1.31 und höhere 10.1-Versionen

MariaDB 10.0

Unterstützt

Unterstützt für Version 10.0.34 und höhere 10.0-Versionen

Unterstützt für Version 10.0.34 und höhere 10.0-Versionen

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 MariaDB 10.2 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=REQUIRED

Im folgenden Beispiel sehen Sie für MariaDB 10.1 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

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

Verwenden Sie für MariaDB 10.2 und höher die folgende Anweisung.

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

Verwenden Sie für MariaDB 10.1 und früher die folgende Anweisung.

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

Weitere Informationen über SSL-Verbindungen mit MariaDB finden Sie in der SSL-Übersicht in der MariaDB-Dokumentation.

Cache-Warming

InnoDB (Version 10.2 und neuer) und XtraDB (Version 10.0 und 10.1) können durch das Aufwärmen des Caches Leistungssteigerungen für die MariaDB-DB-Instance zur Verfügung stellen. Dazu wird der aktuelle Zustand des Puffer-Pools beim Herunterfahren der DB-Instance gespeichert. Beim Starten der DB-Instance wird der Puffer-Pool erneut aus den gespeicherten Informationen geladen. Dieser Ansatz umgeht die Notwendigkeit, dass sich der Zwischenspeicher-Pool für den normalen Datenbankbetrieb „erwärmen“ muss und stattdessen wird der Zwischenspeicher-Pool mit den Seiten für bekannte häufige Anfragen geladen. Weitere Informationen über die Cache-Initialisierung finden Sie unter Dumping und Wiederherstellung des Buffer-Pools in der MariaDB-Dokumentation.

Die Cache-Initialisierung ist standardmäßig für MariaDB 10.2 und höhere DB-Instances aktiviert. Um die 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. Das Ändern dieser Parameterwerte in einer Parametergruppe betrifft alle MariaDB DB-Instancen, die die gleiche Parametergruppe verwenden. Um die Cache-Initialisierung für spezifische MariaDB-DB-Instances zu aktivieren, müssen Sie möglicherweise eine neue Parametergruppe für diese DB-Instances erstellen. Weitere Informationen zu Parametergruppen finden Sie unter Arbeiten mit DB-Parametergruppen.

Cache-Warming erzeugt vor allem einen Leistungsvorteil für DB-Instances, die Standardspeicher verwenden. Wenn Sie PIOPS-Speicher verwenden, sehen Sie häufig keinen bedeutenden Leistungsgewinn.

Wichtig

Wenn Ihre MariaDB DB-Instance nicht normal herunterfährt, wie bei einem Failover, dann ist der Zwischenspeicher-Pool nicht auf der Festplatte gespeichert. In diesem Fall lädt MariaDB einen verfügbaren Zwischenspeicher-Pool, wenn die DB-Instance gestartet wird. 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 haben. Sie können den Zwischenspeicher-Pool auf Abruf laden oder entladen.

Sie können ein Ereignis zum automatischen Entladen des Zwischenspeicher-Pools in regelmäßigen Abständen erstellen. 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 finden Sie unter Events in der MariaDB-Dokumentation.

Entladen und Laden des Zwischenspeicher-Pools auf Abruf

Sie können den Cache auf Abruf mit den folgenden gespeicherten Prozeduren speichern und laden:

Datenbankparameter für MariaDB

Standardmäßig verwendet eine MariaDB DB-Instance eine für eine MariaDB-Datenbank spezifische DB-Parametergruppe. Diese Parametergruppe enthält einige, aber nicht alle in Amazon RDS-DB-Parametergruppen für die MySQL-Datenbank-Engine enthaltenen Parameter. Sie enthält auch eine Reihe neuer, MariaDB-spezifischer Parameter. Weitere Informationen über die Parameter der Amazon RDS-MariaDB-DB-Engine finden Sie unter Parameter für MariaDB.

Häufige DBA-Aufgaben für MariaDB

Zu den häufigen DBA-Aufgaben, die Sie in einer MariaDB-DB-Instance möglicherweise ausführen, zählen das Beenden von Sitzungen oder Abfragen, das Überspringen von Replikationsfehlern, das Arbeiten mit Tablespaces in InnoDB (Version 10.2 und neuer) und XtraDB (Version 10.0 und 10.1), um Wiederherstellungszeiten nach Abstürzen zu verbessern, sowie die Verwaltung des globalen Statusverlaufs. Sie können diese Aufgaben ebenso wie bei einer Amazon RDS-MySQL-DB-Instance behandeln. Dies ist unter Häufige DBA-Aufgaben für MySQL-DB-Instances beschrieben. Die Anweisungen zur Wiederherstellung nach Abstürzen dort beziehen sich auf die MySQL InnoDB-Engine. Sie gelten aber auch für eine MariaDB-Instance, die InnoDB oder auch XtraDB ausführt.

Lokale Zeitzone für MariaDB DB-Instancen

Standardmäßig ist die Zeitzone für eine RDS-MariaDB DB-Instance Universal Time Coordinated (koordinierte Weltzeit UTC). 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/Bangkok

Australia/Darwin

Africa/Casablanca

Asia/Beirut

Australia/Hobart

Africa/Harare

Asia/Calcutta

Australia/Perth

Africa/Monrovia

Asia/Damascus

Australia/Sydney

Africa/Nairobi

Asia/Dhaka

Brazil/East

Africa/Tripoli

Asia/Irkutsk

Canada/Newfoundland

Africa/Windhoek

Asia/Jerusalem

Canada/Saskatchewan

America/Araguaina

Asia/Kabul

Europe/Amsterdam

America/Asuncion

Asia/Karachi

Europe/Athens

America/Bogota

Asia/Kathmandu

Europe/Dublin

America/Caracas

Asia/Krasnoyarsk

Europe/Helsinki

America/Chihuahua

Asia/Magadan

Europe/Istanbul

America/Cuiaba

Asia/Muscat

Europe/Kaliningrad

America/Denver

Asia/Novosibirsk

Europe/Moscow

America/Fortaleza

Asia/Riyadh

Europe/Paris

America/Guatemala

Asia/Seoul

Europe/Prague

America/Halifax

Asia/Shanghai

Europe/Sarajevo

America/Manaus

Asia/Singapore

Pacific/Auckland

America/Matamoros

Asia/Taipei

Pacific/Fiji

America/Monterrey

Asia/Tehran

Pacific/Guam

America/Montevideo

Asia/Tokyo

Pacific/Honolulu

America/Phoenix

Asia/Ulaanbaatar

Pacific/Samoa

America/Santiago

Asia/Vladivostok

US/Alaska

America/Tijuana

Asia/Yakutsk

US/Central

Asia/Amman

Asia/Yerevan

US/Eastern

Asia/Ashgabat

Atlantic/Azores

US/East-Indiana

Asia/Baghdad

Australia/Adelaide

US/Pacific

Asia/Baku

Australia/Brisbane

UTC