Einrichten einer Remote-Datenbankverbindung
root
Zugriff auf das Dateisystem haben und sich root
bei MySQL anmelden können.Voraussetzungen
Bevor Sie beginnen, müssen Sie Folgendes tun:
- Installieren Sie MySQL Server auf dem Datenbankserver.
- Erstellen einer Datenbankinstanz auf dem Datenbankserver
- Installieren Sie den MySQL-Client auf Ihrem Adobe Commerce-Webknoten. Weitere Informationen finden Sie in der MySQL-Dokumentation .
Hohe Verfügbarkeit
Verwenden Sie die folgenden Richtlinien, um Remotedatenbankverbindungen zu konfigurieren, wenn Ihr Webserver oder Datenbankserver in einem Cluster zusammengefasst sind:
-
Sie müssen für jeden Webserverknoten eine Verbindung konfigurieren.
-
Normalerweise konfigurieren Sie eine Datenbankverbindung zum Datenbank-Load-Balancer. Das Datenbank-Clustering kann jedoch komplex sein und die Konfiguration liegt bei Ihnen. Adobe gibt keine spezifischen Empfehlungen für das Datenbank-Clustering.
Weitere Informationen finden Sie unter MySQL-.
Beheben von Verbindungsproblemen
Wenn Sie Probleme bei der Verbindung mit einem der Hosts haben, pingen Sie zunächst den anderen Host, um sicherzustellen, dass er erreichbar ist. Möglicherweise müssen Sie Verbindungen von einem Host zu einem anderen zulassen, indem Sie Firewall- und SELinux-Regeln ändern (wenn Sie SELinux verwenden).
Remote-Verbindung erstellen
So erstellen Sie eine Remote-Verbindung:
-
Öffnen Sie auf Ihrem Datenbankserver als Benutzer mit
root
die MySQL-Konfigurationsdatei.Geben Sie den folgenden Befehl ein, um es zu finden:
mysql --help
Der Speicherort wird ähnlich wie der folgende angezeigt:
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
HINWEIS
Auf Ubuntu 16 ist der Pfad normalerweise/etc/mysql/mysql.conf.d/mysqld.cnf
. -
Durchsuchen Sie die Konfigurationsdatei nach
bind-address
.Falls vorhanden, ändern Sie den Wert wie folgt.
Wenn es nicht vorhanden ist, fügen Sie es zum Abschnitt
[mysqld]
hinzu.bind-address = <ip address of your web node>
Siehe MySQL-Dokumentation, insbesondere bei einem geclusterten Webserver.
-
Speichern Sie Ihre Änderungen in der Konfigurationsdatei und beenden Sie den Texteditor.
-
Starten Sie den MySQL-Dienst neu:
-
CentOS:
service mysqld restart
-
Ubuntu:
service mysql restart
HINWEIS
Wenn MySQL nicht gestartet werden kann, suchen Sie in syslog nach der Ursache des Problems. Lösen Sie das Problem mithilfe von MySQL-Dokumentation oder einer anderen autorisierenden Quelle. -
Gewähren des Zugriffs für einen Datenbankbenutzer
Damit Ihr Webknoten eine Verbindung zum Datenbankserver herstellen kann, müssen Sie einem Datenbankbenutzer des Webknotens Zugriff auf die Datenbank auf dem Remoteserver gewähren.
In diesem Beispiel erhält der root
Datenbankbenutzer vollen Zugriff auf die Datenbank auf dem Remote-Host.
So gewähren Sie einem Datenbankbenutzer Zugriff:
-
Melden Sie sich beim Datenbankserver an.
-
Verbinden Sie sich als
root
mit der MySQL-Datenbank. -
Geben Sie den folgenden Befehl ein:
GRANT ALL ON <local database name>.* TO <remote web node username>@<remote web node server ip address> IDENTIFIED BY '<database user password>';
Beispiel:
GRANT ALL ON magento_remote.* TO dbuser@192.0.2.50 IDENTIFIED BY 'dbuserpassword';
HINWEIS
Wenn Ihr Webserver geclustert ist, geben Sie auf jedem Webserver denselben Befehl ein. Sie müssen für jeden Webserver denselben Benutzernamen verwenden.
Datenbankzugriff überprüfen
Geben Sie auf Ihrem Webknotenhost den folgenden Befehl ein, um zu überprüfen, ob die Verbindung funktioniert:
mysql -u <local database username> -h <database server ip address> -p
Wenn der MySQL-Monitor wie folgt angezeigt wird, ist die Datenbank für Adobe Commerce bereit:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 213 Server version: 5.6.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Wenn Ihr Webserver geclustert ist, geben Sie den Befehl auf jedem Webserverhost ein.