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

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

Nachdem Amazon RDS Ihre DB-Instance bereitgestellt hat, können Sie jede Standard-MariaDB-Client-Anwendung und jedes -Hilfsprogramm verwenden, um eine Verbindung mit der Instance herzustellen. In der Verbindungszeichenfolge geben Sie die DNS-Adresse (Domain Name System) vom DB-Instance-Endpunkt als Host-Parameter an. Sie geben auch die Portnummer vom DB-Instance-Endpunkt als Port-Parameter an.

Sie können sich mit einer Amazon-RDS-for-MariaDB-DB-Instance verbinden, indem Sie die MySQL-Befehlszeilenfunktion verwenden. Weitere Informationen zur Verwendung der MySQL-Befehlszeile finden Sie unter mysql Command-line Client in der MariaDB-Dokumentation. Eine GUI-basierte Anwendung, die Sie zum Herstellen einer Verbindung verwenden können, ist Heidi. Weitere Informationen finden Sie auf der Seite Download heidi. Weitere Informationen zum Installieren von MySQL (einschließlich des MySQL-Befehlszeile-Clients) finden Sie unter Installation und Aktualisierung von MySQL.

Die meisten Linux-Verteilung enthalten den MariaDB Client anstelle des Oracle MySQL Clients. Um den MySQL Befehlszeilenclient auf den meisten RPM-basierten Linux-Verteilungen, einschließlich Amazon Linux 2, zu installieren, führen Sie den folgenden Befehl aus:

yum install mariadb

Führen Sie den folgenden Befehl aus, um den MySQL-Befehlszeilenclient auf den meisten DEB-basierten Linux-Distributionen zu installieren:

apt-get install mariadb-client

Zum Überprüfen der Version des Befehlszeilen-Clients von MySQL führen Sie den folgenden Befehl aus:

mysql --version

Zum Lesen der MySQL Dokumentation für Ihre aktuelle Clientversion führen Sie den folgenden Befehl aus:

man mysql

Um eine Verbindung zu einer DB-Instance von außerhalb einer Virtual Private Cloud (VPC) basierend auf Amazon VPC herzustellen, muss die DB-Instance öffentlich zugänglich sein. Außerdem muss der Zugriff unter Verwendung der eingehenden Regeln der Sicherheitsgruppe der DB-Instance gewährt werden, und andere Anforderungen müssen erfüllt sein. Weitere Informationen finden Sie unter Verbindung zur Amazon RDS-DB-Instance kann nicht hergestellt werden.

Sie können SSL-Verschlüsselung für Verbindungen mit einer MariaDB-DB-Instance verwenden. Weitere Informationen finden Sie unter Verwenden von SSL mit einer MariaDB DB-Instance.

Finden der Verbindungsinformationen für eine MariaDB-DB-Instance

Die Verbindungsinformationen für eine DB-Instance umfassen ihren Endpunkt, ihren Port und einen gültigen Datenbankbenutzer, z. B. den Masterbenutzer. Nehmen wir zum Beispiel an, dass ein Endpunktwert laute mydb.123456789012.us-east-1.rds.amazonaws.com. In diesem Fall ist 3306 der Port-Wert und der Datenbankbenutzer ist admin. Angesichts dieser Informationen geben Sie die folgenden Werte in einer Verbindungszeichenfolge an:

  • Geben Sie für den Host- bzw. Hostnamen oder den DNS-Namen a mydb.123456789012.us-east-1.rds.amazonaws.com.

  • Als Port 3306.

  • Geben Sie für Benutzer a admin.

Um eine Verbindung zu einer DB-Instance herzustellen, verwenden Sie einen beliebigen Client für die MariaDB-DB-Engine. Sie könnten beispielsweise den Befehlszeilen-Client von MySQL oder MySQL Workbench verwenden.

Um die Verbindungsinformationen für eine DB-Instance zu finden, können Sie AWS Management Console, den AWS Command Line Interface-Befehl (AWS CLI) describe-db-instances oder die Amazon-RDS-API-Operation DescribeDBInstances verwenden, um ihre Details aufzulisten.

So finden Sie die Verbindungsinformationen für eine DB-Instance im AWS Management Console

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Klicken Sie im Navigationsbereich auf Datenbanken, um eine Liste Ihrer DB-Instances anzuzeigen.

  3. Wählen Sie den Namen der MariaDB-DB-Instance, um deren Details anzuzeigen.

  4. Kopieren Sie auf der Registerkarte Connectivity & security (Anbindung und Sicherheit) den Endpunkt. Notieren Sie sich auch die Portnummer. Sie benötigen sowohl den Endpunkt als auch die Portnummer, um die Verbindung zur DB-Instance herzustellen.

    
                                Der Endpunkt und Port einer DB-Instance
  5. Wenn Sie den Masterbenutzernamen finden müssen, wählen Sie die Registerkarte Konfiguration und den Wert für den Masterbenutzernamen an.

Um die Verbindungsinformationen für eine MariaDB-DB-Instance mit AWS CLI zu finden, rufen Sie den Befehl describe-db-instances auf. Fragen Sie beim Aufruf die DB-Instance-ID, den Endpunkt, den Port und den Masterbenutzernamen ab.

Für Linux, macOS oder Unix:

aws rds describe-db-instances \ --filters "Name=engine,Values=mariadb" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Für Windows:

aws rds describe-db-instances ^ --filters "Name=engine,Values=mariadb" ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Die Ausgabe sollte in etwa wie folgt aussehen.

[ [ "mydb1", "mydb1.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "mydb2", "mydb2.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ] ]

Rufen Sie den Operation DescribeDBInstances auf, um die Verbindungsinformationen für eine DB-Instance mithilfe der Amazon RDS-API zu finden. Suchen Sie in der Ausgabe die Werte für die Endpunktadresse, den Endpunktport und den Masterbenutzernamen.

Herstellen einer Verbindung über den Befehlszeilen-Client von MySQL (unverschlüsselt)

Wichtig

Verwenden Sie eine unverschlüsselte MySQL Verbindung nur, wenn sich Client und Server in derselben VPC befinden und das Netzwerk vertrauenswürdig ist. Weitere IInformationen zur Verwendung verschlüsselter Verbindungen finden Sie unter Herstellen einer Verbindung über den Befehlszeilen-Client von MySQL mit SSL (verschlüsselt).

Um über den MySQL-Befehlszeilenclient eine Verbindung zu einer DB-Instance herzustellen, geben Sie den folgenden Befehl an einer Eingabeaufforderung auf einem Clientcomputer ein. Dadurch werden Sie mit einer Datenbank auf einer MariaDB-DB-Instance verbunden. Ersetzen Sie den DNS-Namen (Endpunkt) für Ihre DB-Instance durch <endpoint> und den Master-Benutzernamen, den Sie verwendet haben, durch <mymasteruser>. Geben Sie das Master-Passwort ein, das Sie bei der Aufforderung zur Eingabe eines Passworts verwendet haben.

mysql -h <endpoint> -P 3306 -u <mymasteruser> -p

Nachdem Sie das Passwort für den Benutzer eingegeben haben, wird eine Ausgabe wie die folgende angezeigt.

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.5.15-MariaDB-log Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>

Herstellen einer Verbindung über den Befehlszeilen-Client von MySQL mit SSL (verschlüsselt)

Amazon RDS erzeugt ein SSL-Zertifikat für Ihre DB-Instance, wenn die Instance erstellt wird. Wenn Sie die SSL-Zertifikatsverifizierung aktivieren, enthält das SSL-Zertifikat den Endpunkt der DB-Instance als Allgemeinen Namen (Common Name, CN) für das SSL-Zertifikat, sodass es vor Spoofing-Angriffen schützt. Folgen Sie diesen Schritten, um mithilfe von SSL eine Verbindung mit Ihrer DB-Instance herzustellen:

So stellen Sie mithilfe des MySQL-Befehlszeilen-Clients eine SSL-Verbindung mit einer DB-Instance her

  1. Laden Sie ein Stammzertifikat herunter, das für alle AWS-Regionen funktioniert.

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

  2. Geben Sie den folgenden Befehl in der Eingabeaufforderung ein, um mithilfe des mysql-Hilfsprogramms eine SSL-Verbindung mit einer DB-Instance herzustellen. Ersetzen Sie den DNS-Namen für Ihre DB-Instance für den Parameter -h. Ersetzen Sie entsprechend den SSL-Zertifikatsnamen für den Parameter --ssl-ca.

    mysql -h mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem -p
  3. Schließen Sie den Parameter --ssl-verify-server-cert ein, damit die SSL-Verbindung den Endpunkt der DB-Instance anhand des Endpunkts im SSL-Zertifikat überprüft. Zum Beispiel:

    mysql -h mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-verify-server-cert -p
  4. Geben Sie bei Aufforderung das Passwort für den Masterbenutzer ein.

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen.

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.5.15-MariaDB-log Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>

Fehlerbehebung bei Verbindungen zu Ihrer MariaDB-DB-Instance

Zwei häufige Ursachen für Fehler bei Verbindungen mit einer neuen DB-Instance sind die folgenden:

  • Die DB-Instance wurde mit einer Sicherheitsgruppe erstellt, die keine Verbindungen vom Gerät oder von der Amazon EC2-Instance zulässt, auf dem bzw. der die MariaDB-Anwendung oder das MariaDB-Hilfsprogramm ausgeführt wird. Wenn eine DB-Instance in einer Amazon VPC erstellt wurde, muss diese über eine VPC-Sicherheitsgruppe verfügen, die die Verbindungen zulässt. Weitere Informationen finden Sie unter Amazon Virtual Private Cloud VPCs und Amazon RDS.

    Sie können eine Regel für eingehenden Datenverkehr in der Sicherheitsgruppe hinzufügen oder ändern. Wählen Sie für Source (Quelle) die Option My IP (Meine IP) aus. Dies ermöglicht Zugriff auf die DB-Instance von der IP-Adresse, die in Ihrem Browser erkannt wird.

    Wenn die DB-Instance außerhalb der VPC erstellt wurde, muss diese über eine DB-Sicherheitsgruppe verfügen, die die Verbindungen zulässt.

  • Die DB-Instance wurde mithilfe des Standard-Port 3306 erstellt; die Firewall Ihres Unternehmens blockiert jedoch Verbindungen zu diesem Port von Geräten aus Ihrem Unternehmensnetzwerk. Erstellen Sie die Instance erneut mit einem andern Port, um diesen Fehler zu beheben.

Weitere Informationen zu Verbindungsproblemen finden Sie unter Verbindung zur Amazon RDS-DB-Instance kann nicht hergestellt werden.