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

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

Bevor Sie eine Verbindung zu einer DB-Instance auf einer MySQL-Datenbank-Engine herstellen können, müssen Sie eine DB-Instance erstellen. Weitere Informationen finden Sie unter Erstellen einer Amazon RDS-DB-Instance. Nachdem Amazon RDS Ihre DB-Instance bereitgestellt hat, können Sie jede beliebige Standard-MySQL-Client-Anwendung und jedes -Hilfsprogramm verwenden, um sich mit der Instance zu verbinden. Geben Sie in der Verbindungszeichenfolge die DNS-Adresse aus dem primären DB-Instance-Endpunkt als Host-Parameter an sowie die Portnummer vom Instance-Endpunkt als Port-Parameter.

Um sich gegenüber der RDS DB-Instance zu authentifizieren, können Sie eine der Authentifizierungsmethoden für MySQL und die AWS Identity and Access Management (IAM)-Datenbank-Authentifizierung verwenden.

Sie können sich mit einer MySQL-DB-Instance verbinden, indem Sie die MySQL-Befehlszeilenfunktion verwenden. Weitere Informationen zur Verwendung des MySQL-Clients finden Sie unter mysql – The MySQL Command-Line Client in der MySQL-Dokumentation. Eine GUI-basierte Anwendung, die Sie zum Herstellen einer Verbindung verwenden können, ist MySQL Workbench. Weitere Informationen finden Sie auf der Seite Download MySQL Workbench. Weitere Informationen zum Installieren von MySQL (einschließlich des MySQL-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 ihrer Amazon VPC herzustellen, muss die DB-Instance öffentlich zugänglich sein und der Zugriff muss unter Anwendung der Regeln für den eingehenden Datenverkehr der Sicherheitsgruppe der DB-Instance gewährt werden. Darüber hinaus müssen weitere Anforderungen erfüllt werden. Weitere Informationen finden Sie unter Verbindung zur Amazon RDS-DB-Instance kann nicht hergestellt werden.

Sie können die Secure Sockets Layer (SSL) -Verschlüsselung für Verbindungen mit einer MySQL-DB-Instance verwenden. Weitere Informationen finden Sie unter Verwenden von SSL mit einer MySQL DB-Instance. Wenn Sie AWS Identity and Access Management (IAM)-Datenbank-Authentifizierung verwenden, stellen Sie sicher, dass Sie eine SSL-Verbindung verwenden. Weitere Informationen finden Sie unter IAM-Datenbankauthentifizierung für MariaDB, MySQL und PostgreSQL.

Sie können auch eine Verbindung zu einer DB-Instance von einem Webserver herstellen. Weitere Informationen finden Sie unter Tutorial: Erstellen eines Webservers und einer Amazon RDS-DB-Instance.

Anmerkung

Weitere Informationen zum Herstellen einer Verbindung mit einer MariaDB-DB-Instance finden Sie unter Herstellen einer Verbindung mit einer DB-Instance, auf der die MariaDB-Datenbank-Engine ausgeführt wird.

Finden der Verbindungsinformationen für eine MySQL-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 mit einer DB-Instance herzustellen, verwenden Sie einen beliebigen Client für eine 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 CLI-Befehl 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 MySQL-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 MySQL-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=mysql" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Für Windows:

aws rds describe-db-instances ^ --filters "Name=engine,Values=mysql" ^ --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 mit einer DB-Instance herzustellen, geben Sie den folgenden Befehl an der Eingabeaufforderung ein. Ersetzen Sie für den -h-Parameter den DNS-Namen (Endpunkt) für Ihre primäre DB-Instance. Ersetzen Sie den Parameter -P durch den Port Ihrer DB-Instance. Ersetzen Sie für den Parameter -u den Benutzernamen eines gültigen Datenbankbenutzers, z. B. des Masterbenutzers. Geben Sie bei Aufforderung das Passwort für den Masterbenutzer ein.

mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

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

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9738 Server version: 8.0.23 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

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. Um eine Verbindung zur DB-Instance mithilfe von SSL zu erstellen, können Sie entweder die native Passwort-Authentifizierung verwenden oder die IAM-Datenbank-Authentifizierung. Informationen zum Erstellen einer Verbindung zur DB-Instance mithilfe der IAM-Datenbank-Authentifizierung finden Sie unter IAM-Datenbankauthentifizierung für MariaDB, MySQL und PostgreSQL. Um eine Verbindung zur DB-Instance mithilfe der nativen Passwort-Authentifizierung zu erstellen, führen Sie folgende Schritte aus:

So stellen Sie mithilfe des MySQL-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 die Eingabeaufforderung ein, um über den MySQL-Client eine SSL-Verbindung mit einer DB-Instance aufzubauen. Ersetzen Sie für den -h-Parameter den DNS-Namen (Endpunkt) für Ihre primäre DB-Instance. Ersetzen Sie für den Parameter --ssl-ca durch den Namen der SSL-Zertifikatsdatei, sofern erforderlich. Ersetzen Sie den Parameter -P durch den Port Ihrer DB-Instance. Ersetzen Sie für den Parameter -u den Benutzernamen eines gültigen Datenbankbenutzers, z. B. des Masterbenutzers. Geben Sie bei Aufforderung das Passwort für den Masterbenutzer ein.

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem -P 3306 -u mymasteruser -p
  3. Sie können fordern, dass die SSL-Verbindung den Endpunkt der DB-Instance gegen den Endpunkt des SSL-Zertifikats überprüft.

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-mode=VERIFY_IDENTITY -P 3306 -u mymasteruser -p
  4. Geben Sie bei Aufforderung das Passwort für den Masterbenutzer ein.

Die Ausgabe entspricht weitgehend der Folgenden.

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9738 Server version: 8.0.23 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

Herstellen einer Verbindung von MySQL Workbench

So stellen Sie eine Verbindung von MySQL Workbench her

  1. Laden Sie MySQL Workbench unter Download MySQL Workbench herunter und installieren Sie es.

  2. Öffnen Sie MySQL Workbench.

    
                        MySQL Workbench
  3. Wählen Sie unter Database die Option Manage Connections aus.

  4. Wählen Sie im Fenster Manage Server Connections New aus.

  5. Geben Sie im Fenster Connect to Database die folgenden Informationen ein:

    • Stored Connection – Geben Sie einen Namen für die Verbindung ein, beispielsweise MyDB.

    • Hostname – Geben Sie den Endpunkt der DB-Instance ein.

    • Port – Geben Sie den von der DB-Instance verwendeten Port ein.

    • Benutzername – Geben Sie den Benutzernamen eines gültigen Datenbankbenutzers ein, beispielsweise den des Masterbenutzers.

    • Password – Wählen Sie optional Store in Vault (In Vault speichern) aus, geben Sie das Passwort des Benutzers ein und speichern Sie dieses.

    Das Fenster sieht in etwa wie folgt aus:

    
                        MySQL Workbench-Verbindungsfenster

    Sie können Verbindungen mit der Funktionen von MySQL Workbench anpassen. Beispielsweise können Sie SSL-Verbindungen mithilfe der Registerkarte SSL konfigurieren. Weitere Informationen zur Verwendung von MySQL Workbench finden Sie in der MySQL Workbench-Dokumentation.

  6. Wählen Sie optional Test Connection aus, um zu prüfen, ob die Verbindung zur DB-Instance erfolgreich hergestellt wurde.

  7. Klicken Sie auf Close (Schließen).

  8. Wählen Sie unter Database die Option Connect to Database aus.

  9. Wählen Sie für Stored Connection Ihre Verbindung aus.

  10. Klicken Sie auf OK.

Herstellen einer Verbindung mit Amazon Web Services-JDBC-Treiber für MySQL

Die AWS-JDBC-Treiber für MySQL ist ein Client-Treiber, der für RDS for MySQL konzipiert wurde. Standardmäßig hat die AWS-JDBC-Treiber für MySQL optimierte Einstellungen für die Verwendung mit RDS for MySQL.

AWS-JDBC-Treiber für MySQL ist Drop-In-kompatibel mit dem MySQL Connector/J-Treiber. Um Ihren Konnektor zu installieren oder zu aktualisieren, ersetzen Sie die .jar-Datei des MySQL-Konnektors (in der Anwendung CLASSPATH) durch die AWS-JDBC-Treiber-for-MySQL-.jar-Datei und aktualisieren Sie das Verbindungs-URL-Präfix von jdbc:mysql:// auf jdbc:mysql:aws://.

Weitere Informationen zu AWS-JDBC-Treiber für MySQL und vollständigen Anweisungen zur Verwendung finden Sie im AWS-JDBC-Treiber für MySQL-GitHub-Repository.

Fehlerbehebung bei Verbindungen zu Ihrer MySQL-DB-Instance

Zwei häufige Ursachen für Verbindungsfehler mit einer neuen DB-Instance sind folgende:

  • Die DB-Instance wurde mit einer Sicherheitsgruppe erstellt, die keine Verbindungen von dem Gerät oder der Amazon EC2-Instance zulässt, wo die MySQL-Anwendung oder das -Hilfsprogramm ausgeführt wird. Wenn die DB-Instance innerhalb einer 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.